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。
如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。
備註
如需架構檔案對象的詳細資訊,請參閱 Framework File Objects。
範例
下列程式代碼範例會取得具名 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;
}
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最低 KMDF 版本 | 1.0 |
標頭 | wdfdevice.h (包含 Wdf.h) |
程式庫 | Wdf01000.sys (請參閱 Framework Library Versioning.) |
IRQL | <= DISPATCH_LEVEL |
DDI 合規性規則 | DriverCreate (kmdf) 、 KmdfIrql (kmdf) 、 KmdfIrql2 (kmdf) 、 KmdfIrqlExplicit (kmdf) |