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)

こちらもご覧ください

WdfRequestCompleteWithInformation

WdfRequestGetInformation