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)
Library Wdf01000.sys (请参阅框架库 Versioning.)
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 DriverCreate (kmdf) KmdfIrql (kmdf) KmdfIrql2 (kmdf) 、 KmdfIrqlExplicit (kmdf)

另请参阅

IoGetDeviceObjectPointer