次の方法で共有


WDF_REQUEST_SEND_OPTIONS構造体 (wdfrequest.h)

[KMDF と UMDF に適用]

WDF_REQUEST_SEND_OPTIONS構造体は、I/O 要求を I/O ターゲットに送信するために関連付けられているオプションを指定します。

構文

typedef struct _WDF_REQUEST_SEND_OPTIONS {
  ULONG    Size;
  ULONG    Flags;
  LONGLONG Timeout;
} WDF_REQUEST_SEND_OPTIONS, *PWDF_REQUEST_SEND_OPTIONS;

メンバー

Size

この構造体のサイズ (バイト単位)。

Flags

WDF_REQUEST_SEND_OPTIONS_FLAGS型指定されたフラグのビットごとの OR。

Timeout

システム時間単位 (100 ナノ秒間隔) のタイムアウト値。 ドライバーが WDF_REQUEST_SEND_OPTION_TIMEOUT フラグを設定している場合、フレームワークは、指定されたタイムアウト期間内に完了していない場合、関連付けられている I/O 要求を取り消します。 タイムアウト値は、次のように負、正、またはゼロにすることができます。

  • 値が負の場合、有効期限は現在のシステム時刻に対して相対的になります。
  • 値が正の場合、有効期限は絶対時間として指定されます (実際には 1601 年 1 月 1 日を基準とします)。
  • 値が 0 の場合、フレームワークは要求をタイムアウトしません。
相対有効期限は、指定されたタイムアウト期間内に発生する可能性のあるシステム時間の変更の影響を受けません。 絶対有効期限は、システム時刻の変更を反映します。

フレームワークには、時間値をシステム時間単位に変換する時間 変換関数 が用意されています。

指定されたタイムアウト期間が経過したためにフレームワークが I/O 要求を取り消した場合、フレームワークは I/O 要求のSTATUS_IO_TIMEOUT完了状態を提供します。 ただし、タイムアウト期間が経過すると、I/O ターゲットが I/O 要求を完了してから、フレームワークで取り消す可能性があります。 その場合、I/O 要求の完了状態はSTATUS_IO_TIMEOUTされません。

注釈

WDF_REQUEST_SEND_OPTIONS構造体は、I/O 要求を I/O ターゲットに送信するオブジェクト メソッド (WdfRequestSend メソッドなど) に渡されます。 構造体は、 WDF_REQUEST_SEND_OPTIONS_INIT 関数と WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT 関数を呼び出して初期化する必要があります。

ドライバーが要求を同期的に送信している場合は、ドライバーがこの構造体の Flags メンバーにタイムアウト値とタイムアウト フラグを設定することをお勧めします。

要件

要件
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header wdfrequest.h (Wdf.h を含む)

こちらもご覧ください

WDF_REQUEST_SEND_OPTIONS_FLAGS

WDF_REQUEST_SEND_OPTIONS_INIT

WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT

WdfRequestSend