tjm
tjm
驱动小牛
驱动小牛
  • 注册日期2002-05-18
  • 最后登录2004-10-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1235回复:4

使用IoGetDeviceObjectPointer的问题

楼主#
更多 发布于:2002-12-23 12:02
我按如下方法使用IoGetDeviceObjectPointer():
全局变量:
PDEVICE_OBJECT pDObject;
FILE_OBJECT FObject;
FILE_OBJECT *pFObject;
UNICODE_STRING DevName;
NTSTATUS ret=0;
在AddDevice()中调用:

        pFObject=&FObject;
        //另一个DRIVER使用IoCreateDevice()时,
        //使用的DeviceName是\\Device\\DriverA
        RtlInitUnicodeString(&DevName,L\"\\\\Device\\\\DriverA\");

        ret=IoGetDeviceObjectPointer(\\
&DevName,\\
FILE_ALL_ACCESS,\\
&pFObject,\\
&pDObject);

结果,出现蓝屏死机。
我想是调用的方法不对吧。请高手指正。
两个DRIVER 都是WDM,且没有任何关系。
ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-23 16:03
FILE_OBJECT *pFObject
为什么不用
PFILE_OBJECT pFObject;
生命驱动,活力无限!
板凳#
发布于:2002-12-23 16:53
问题应该出在
//另一个DRIVER使用IoCreateDevice()时,
//使用的DeviceName是\\Device\\DriverA
你确定已经清掉了你创建的devobj的DO_DEVICE_INITIALIZING标志了吗?
tjm
tjm
驱动小牛
驱动小牛
  • 注册日期2002-05-18
  • 最后登录2004-10-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-12-23 17:26
ydyuse:
FILE_OBJECT *pFObject和PFILE_OBJECT pFObject一样呀。

挑战者:
清了。

要不,谁给我个例子看看?
地下室#
发布于:2002-12-24 10:03
那么估计不是这里的问题吧!
游客

返回顶部