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