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
);
}
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
最小 UMDF バージョン | 2.0 |
Header | wdfrequest.h (Wdf.h を含む) |
Library | Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
DDI コンプライアンス規則 | DriverCreate(kmdf)、 InvalidReqAccess(kmdf)、 InvalidReqAccessLocal(kmdf)、 KmdfIrql(kmdf)、 KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf) |