Поделиться через


структура WDF_REQUEST_SEND_OPTIONS (wdfrequest.h)

[Относится к KMDF и UMDF]

Структура WDF_REQUEST_SEND_OPTIONS определяет параметры, связанные с отправкой запроса ввода-вывода в целевой объект ввода-вывода.

Синтаксис

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 типизированных флагов.

Timeout

Значение времени ожидания в системных единицах времени (100-наносекундные интервалы). Если драйвер установил флаг WDF_REQUEST_SEND_OPTION_TIMEOUT, платформа отменяет связанный запрос ввода-вывода, если он не завершен в течение указанного периода времени ожидания. Значение времени ожидания может быть отрицательным, положительным или нулевым, как показано ниже.

  • Если значение отрицательное, время истечения срока действия относительно текущего системного времени.
  • Если значение положительное, время истечения срока действия указывается как абсолютное время (фактически относительно 1 января 1601 г.).
  • Если значение равно нулю, платформа не и времени ожидания запроса.
На относительные сроки действия не влияют изменения системного времени, которые могут произойти в течение указанного периода времени ожидания. Абсолютное время истечения срока действия отражает изменения системного времени.

Платформа предоставляет функции преобразования времени , которые преобразуют значения времени в системные единицы времени.

Если платформа отменяет запрос ввода-вывода по истечении указанного времени ожидания, платформа предоставляет состояние завершения STATUS_IO_TIMEOUT для запроса ввода-вывода. Однако по истечении времени ожидания целевой объект ввода-вывода может завершить запрос ввода-вывода до того, как платформа сможет отменить его. В этом случае состояние завершения запроса ввода-вывода не будет STATUS_IO_TIMEOUT.

Комментарии

Структура WDF_REQUEST_SEND_OPTIONS передается объектным методам, которые отправляют запрос ввода-вывода целевому объекту ввода-вывода, например методу WdfRequestSend . Структура должна быть инициализирована путем вызова функций WDF_REQUEST_SEND_OPTIONS_INIT и WDF_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