WdfRequestSetInformation 函式 (wdfrequest.h)
[適用於 KMDF 和 UMDF]
WdfRequestSetInformation 方法會設定指定 I/O 要求的完成狀態資訊。
語法
void WdfRequestSetInformation(
[in] WDFREQUEST Request,
[in] ULONG_PTR Information
);
參數
[in] Request
架構要求物件的句柄。
[in] Information
要求的驅動程式定義完成狀態資訊。
傳回值
無
備註
如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。
架構型驅動程式會使用 WdfRequestSetInformation 方法來提供與 I/O 要求完成相關聯的驅動程式特定資訊,例如傳輸的位元元數目。 其他驅動程式可以藉由呼叫 WdfRequestGetInformation 來取得這項資訊。
驅動程式也可以藉由呼叫 WdfRequestCompleteWithInformation 來指定完成狀態資訊。
如需 WdfRequestSetInformation 的詳細資訊,請參閱 完成 I/O 要求。
範例
下列程式代碼範例會根據 EvtIoDeviceControl 回呼函式收到的 I/O 控件程式代碼值來設定要求完成資訊。
VOID
MyEvtIoDeviceControl(
IN WDFQUEUE Queue,
IN WDFREQUEST Request,
IN size_t OutputBufferLength,
IN size_t InputBufferLength,
IN ULONG IoControlCode
)
{
switch (IoControlCode) {
case MY_IOCTL_CODE_1:
WdfRequestSetInformation(
Request,
VALUE_1
);
status = STATUS_SUCCESS;
break;
case MY_IOCTL_CODE_2:
WdfRequestSetInformation(
Request,
VALUE_2
);
status = STATUS_SUCCESS;
break;
case MY_IOCTL_CODE_3:
WdfRequestSetInformation(
Request,
VALUE_3
);
status = STATUS_SUCCESS;
break;
default:
status = STATUS_INVALID_DEVICE_REQUEST;
break;
}
WdfRequestComplete(
Request,
status
);
}
規格需求
需求 | 值 |
---|---|
目標平台 | 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) |