共用方式為


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)

另請參閱

IoGetDeviceObjectPointer