WdfRequestIsFrom32BitProcess 函式 (wdfrequest.h)
[適用於 KMDF 和 UMDF]
WdfRequestIsFrom32BitProcess 方法會檢查指定 I/O 要求的起始端是否為 32 位使用者模式應用程式。
語法
BOOLEAN WdfRequestIsFrom32BitProcess(
[in] WDFREQUEST Request
);
參數
[in] Request
架構要求物件的句柄。
傳回值
在 64 位系統上,如果目前 I/O 要求的起始者是 32 位使用者模式進程,WdfRequestIsFrom32BitProcess 會傳回 TRUE ,否則為 FALSE 。 在 32 位系統上, WdfRequestIsFrom32BitProcess 一律會傳回 TRUE。
如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。
備註
驅動程式可以呼叫 WdfRequestIsFrom32BitProcess ,以判斷 I/O 要求是否可能包含需要轉換的數據元素或 “thunked”,才能在 64 位驅動程式中使用。
指定的要求句柄必須已從其中一個驅動程式的 I/O 佇列取得,而不是從 呼叫 WdfRequestCreate 取得。
範例
下列程式代碼範例會判斷 I/O 要求是否來自 32 位應用程式。
VOID
MyEvtIoRead(
IN WDFQUEUE Queue,
IN WDFREQUEST Request,
IN size_t Length
)
{
...
if (WdfRequestIsFrom32BitProcess(Request)) {
//
// The driver is running on a 64-bit computer and the
// I/O request came from a 32-bit application.
//
...
}
...
}
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最小 KMDF 版本 | 1.0 |
最低UMDF版本 | 2.0 |
標頭 | wdfrequest.h (包含 Wdf.h) |
程式庫 | Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
DDI 合規性規則 | DriverCreate (kmdf) , InvalidReqAccess (kmdf ) , InvalidReqAccessLocal (kmdf ) , KmdfIrql (kmdf) , KmdfIrql2 (kmdf) , KmdfIrqlExplicit (kmdf) |