共用方式為


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 日) 。
  • 如果值為零,架構就不會逾時要求。
相對到期時間不會受到在指定逾時期間內可能發生之系統時間的任何變更所影響。 絕對到期時間確實會反映系統時間變更。

架構提供 時間轉換函式 ,可將時間值轉換成系統時間單位。

如果架構因為指定的逾時期間已過而取消 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_INITWDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT 函式來初始化。

如果驅動程式以同步方式傳送要求,建議驅動程式在此結構的 Flags 成員中設定逾時值和逾時旗標。

規格需求

需求
最低 KMDF 版本 1.0
最低UMDF版本 2.0
標頭 wdfrequest.h (包含 Wdf.h)

另請參閱

WDF_REQUEST_SEND_OPTIONS_FLAGS

WDF_REQUEST_SEND_OPTIONS_INIT

WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT

WdfRequestSend