shyandsy
驱动牛犊
驱动牛犊
  • 注册日期2007-12-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分447分
  • 威望183点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
阅读:1124回复:2

SFILTER中IoGetDeviceObjectPointer的问题

楼主#
更多 发布于:2008-04-04 17:01
{
        PDEVICE_OBJECT rawDeviceObject;
        PFILE_OBJECT fileObject;

        //
        //  Attach to RawDisk device
        //

        RtlInitUnicodeString( &nameString, L"\\Device\\RawDisk" );

        status = IoGetDeviceObjectPointer(                           //返回要绑定的设备对象
                    &nameString,                                          //要绑定的设备的名字
                    FILE_READ_ATTRIBUTES,                                 //想得到的访问
                    &fileObject,                                          //给用户代码描述对应设备对象的文件对象(函数输出)
                    &rawDeviceObject );                                   //描述逻辑或者虚拟或者物理设备的设备对象(函数输出)

        if (NT_SUCCESS( status )) {

            SfFsNotification( rawDeviceObject, TRUE );
            ObDereferenceObject( fileObject );
        }

        //
        //  Attach to the RawCdRom device
        //

        RtlInitUnicodeString( &nameString, L"\\Device\\RawCdRom" );

        status = IoGetDeviceObjectPointer(
                    &nameString,
                    FILE_READ_ATTRIBUTES,
                    &fileObject,
                    &rawDeviceObject );

        if (NT_SUCCESS( status )) {

            SfFsNotification( rawDeviceObject, TRUE );
            ObDereferenceObject( fileObject );
        }
    }



声名:
NTSTATUS
  IoGetDeviceObjectPointer(
    IN PUNICODE_STRING  ObjectName,
    IN ACCESS_MASK  DesiredAccess,
    OUT PFILE_OBJECT  *FileObject,
    OUT PDEVICE_OBJECT  *DeviceObject
    );

这里面连续两次调用
fileObject    rawDeviceObject 这两个参数是系统返回的
那么是不是第二次调用返回的文件对象 和 设备对象 就已经覆盖了第一次
调用返回的结果呢
选择喜欢做的事,就要努力去做!
shyandsy
驱动牛犊
驱动牛犊
  • 注册日期2007-12-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分447分
  • 威望183点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-04-08 10:26
这个问题是不是很没有技术含量阿
怎么没有人说话阿
选择喜欢做的事,就要努力去做!
entries
驱动牛犊
驱动牛犊
  • 注册日期2005-10-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望16点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-04-09 13:22
好好看一下SfFsNotification这个函数在做什么。

关乎的不在于返回

而在乎内调函数
游客

返回顶部