WdfRequestFormatRequestUsingCurrentType 函式 (wdfrequest.h)
[適用於 KMDF 和 UMDF]
WdfRequestFormatRequestUsingCurrentType 方法會格式化指定的 I/O 要求,讓驅動程式可以將它轉送至驅動程式的本機 I/O 目標。
語法
void WdfRequestFormatRequestUsingCurrentType(
[in] WDFREQUEST Request
);
參數
[in] Request
驅動程式從其中一個 I/O 佇列收到的架構要求物件的句柄。
傳回值
無
備註
如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。
當您的驅動程式 收到 I/O 要求時,有時候您會希望驅動程式將要求轉送至其本機 I/O 目標。 若要轉送這類要求,驅動程序必須:
- 呼叫 WdfRequestFormatRequestUsingCurrentType 來格式化要求物件,讓架構可以將要求傳遞至驅動程式的本機 I/O 目標。
- 呼叫 WdfRequestSend 以將要求傳送至 I/O 目標。
範例
下列程式代碼範例是 EvtIoDefault 回呼函式,它會將接收的每個 I/O 要求轉送至裝置的本機 I/O 目標,而不需修改。
VOID
MyEvtIoDefault(
WDFQUEUE Queue,
WDFREQUEST Request
)
{
WDF_REQUEST_SEND_OPTIONS options;
NTSTATUS status;
WdfRequestFormatRequestUsingCurrentType(Request);
WDF_REQUEST_SEND_OPTIONS_INIT(
&options,
WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET
);
ret = WdfRequestSend (
Request,
WdfDeviceGetIoTarget(WdfIoQueueGetDevice(Queue)),
&options
);
if (!ret) {
status = WdfRequestGetStatus(Request);
WdfRequestComplete(
Request,
status
);
}
return;
}
規格需求
需求 | 值 |
---|---|
目標平台 | 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) , RequestFormattedValid (kmdf) |