glcs
驱动牛犊
驱动牛犊
  • 注册日期2002-03-21
  • 最后登录2002-04-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1451回复:1

用IoGetDeviceObjectPointer得到\\\\Device\\\\IpFilterDriver的PDEVICE_OBJECT失败。。。

楼主#
更多 发布于:2002-04-01 14:01



DriverObject->MajorFunction[IRP_MJ_CREATE]
对应函数中

相关代码如下:

PFILE_OBJECT fb;
PDEVICE_OBJECT pdo;
UNICODE_STRING IpHookDriverName;
WCHAR IpHookNameBuffer[100];
NTSTATUS ret;
IpHookDriverName.Buffer=IpHookNameBuffer;
IpHookDriverName.MaximumLength=100;
RtlInitUnicodeString(&IpHookDriverName,L\"\\\\Device\\\\IpFilterDriver\");
ret=IoGetDeviceObjectPointer(&IpHookDriverName,FILE_READ_DATA,&fb,&pdo);
if (!NT_SUCCESS(ret))
{//
WriteLog(\"Error IoGetDeviceObjectPointer!!!\\r\\n\");
return ret;
}
每次ret都返回失败,我也试着改了几次IpHookDriverName的值,比如:
\\\\Device\\\\Ipfilterdriver
都同样的返回失败

是不是IoGetDeviceObjectPointer不能在IRP_MJ_CREATE中调用呢,还是我的IpHookDriverName不对呢或其它??
这个问题我折腾了半宿还是没弄好,问题本身也许不难,请不吝赐教。。。


最新喜欢:

icedogicedog
Iamme
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-01 16:57
1. 可以用的
2. 先用winobj或livekd或softice看看有没有这个设备
3. 查一下ret返回的具体值
Go,go ahead
游客

返回顶部