WdfRequestGetFileObject 函式 (wdfrequest.h)
[適用於 KMDF 和 UMDF]
WdfRequestGetFileObject 方法會擷取與指定 I/O 要求相關聯的架構檔案物件。
語法
WDFFILEOBJECT WdfRequestGetFileObject(
[in] WDFREQUEST Request
);
參數
[in] Request
架構要求物件的句柄。
傳回值
如果架構已為指定的要求建立檔案物件,WdfRequestGetFileObject 會傳回架構檔案物件的句柄。 否則,這個方法會傳回 NULL。 (驅動程式通常會在設定 WDF_FILEOBJECT_CONFIG structure.) 中的 WdfFileObjectCanBeOptional 位旗標時測試 NULL 傳回值
如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。
備註
如果下列任一項, WdfRequestGetFileObject 方法會傳回 NULL :
- 您的驅動程式尚未呼叫 WdfDeviceInitSetFileObjectConfig ,並指定會導致架構建立檔案物件的 WDF_FILEOBJECT_CLASS 值。
- 另一個驅動程式會傳送讀取、寫入或 I/O 控制要求給驅動程式,而不需要先傳送 WdfRequestTypeCreate 的要求類型。
範例
下列程式代碼範例會取得 I/O 要求的檔案對象,然後呼叫驅動程式定義的例程,以取得檔案對象內容空間的指標。
VOID
MyEvtIoWrite(
IN WDFQUEUE Queue,
IN WDFREQUEST Request,
IN size_t Length
)
{
WDFFILEOBJECT fileObject;
PFILE_OPEN_CONTEXT pOpenContext;
fileObject = WdfRequestGetFileObject(Request);
pOpenContext = GetFileObjectContext(fileObject)->OpenContext;
}
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最低 KMDF 版本 | 1.0 |
最低UMDF版本 | 2.0 |
標頭 | wdfrequest.h (包含 Wdf.h) |
程式庫 | Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
DDI 合規性規則 | DriverCreate (kmdf) 、 FileObjectConfigured (kmdf) 、 InvalidReqAccess (kmdf) 、 InvalidReqAccessLocal) (kmdf) 、 KmdfIrql (kmdf) 、 KmdfIrql2 (kmdf) 、KmdfIrqlExplicit (kmdf) |