zxm1983123
驱动牛犊
驱动牛犊
  • 注册日期2005-10-20
  • 最后登录2008-01-22
  • 粉丝1
  • 关注0
  • 积分475分
  • 威望49点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
阅读:1347回复:1

如何找到设备链中最底层的设备

楼主#
更多 发布于:2007-01-16 21:24
  大家看下下面这个代码
RtlInitUnicodeString(&uniNtNameString,L"\\Device\\Tcp");
status = IoGetDeviceObjectPointer(
               IN    &uniNtNameString,
               IN    FILE_READ_ATTRIBUTES,
               OUT    &pTargetFileObject,  
               OUT    &pTargetDeviceObject
               );
用这个方式取tcp Device object的话,如果有filter 驱动创建的设备绑定在tcp设备之上的话,实际上得到的只是filter驱动创建的设备的object.如果filter驱动上面又有一个或者多个filter的话,就形成了一个设备链.用 IoGetDeviceObjectPointer()得到的实际上是这个设备链中的最上面的Device object,我现在想得到Tcp设备的object,即这个设备链中的最底层的Device object.应该怎么做?
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
沙发#
发布于:2007-01-18 20:06
这个好像问了好多次了
走走看看开源好 Solaris vs Linux
游客

返回顶部