WdfDeviceGetFileObject 函数 (wdfdevice.h)

[仅适用于 KMDF]

WdfDeviceGetFileObject 方法返回与指定 WDM 文件对象关联的框架文件对象的句柄。

语法

WDFFILEOBJECT WdfDeviceGetFileObject(
  [in] WDFDEVICE    Device,
  [in] PFILE_OBJECT FileObject
);

参数

[in] Device

框架设备对象的句柄。

[in] FileObject

指向 WDM FILE_OBJECT 结构的指针。

返回值

WdfDeviceGetFileObject 返回与指定 WDM 文件对象关联的框架文件对象的句柄。 如果未为文件创建框架文件对象,或者如果 FileObject 指针无效,该方法将返回 NULL

如果驱动程序提供无效的对象句柄,则会发生 bug 检查。

言论

有关框架文件对象的详细信息,请参阅 框架文件对象

例子

下面的代码示例获取指向命名 WDM 设备对象的指针及其相应的 WDM 文件对象(如果可以授予对对象的请求访问权限)。 然后,该示例获取与 WDM 文件对象关联的框架文件对象的句柄。

PFILE_OBJECT  pWdmFileObject = NULL;
PDEVICE_OBJECT  pWdmDeviceObject = NULL;
WDFFILEOBJECT  fileObject = NULL;
NTSTATUS  status = STATUS_SUCCESS;
BOOLEAN  success = TRUE;

status = IoGetDeviceObjectPointer(
                                  &inputFileName,    // File name 
                                  FILE_ALL_ACCESS,   // Access mask
                                  &pWdmFileObject,   // Output pointer of WDM file object
                                  &pWdmDeviceObject  // Output pointer of WDM device object
                                  );

if(!NT_SUCCESS(status)){
    success = FALSE;
    break;
}

fileObject = WdfDeviceGetFileObject(
                                    gDeviceObject,  // Handle to device object
                                    pWdmFileObject  // Handle to WDM file object
                                    );
if(fileObject == NULL){
    success = FALSE;
}

要求

要求 价值
目标平台 普遍
最低 KMDF 版本 1.0
标头 wdfdevice.h (包括 Wdf.h)
Wdf01000.sys(请参阅框架库版本控制。
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 DriverCreate(kmdf)KmdfIrql(kmdf)KmdfIrql2(kmdf),KmdfIrqlExplicit(kmdf)

另请参阅

IoGetDeviceObjectPointer