共用方式為


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 函式來初始化。

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

要求

要求 價值
最低 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