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) |