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


структура 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