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