estructura WDF_REQUEST_SEND_OPTIONS (wdfrequest.h)

[Se aplica a KMDF y UMDF]

La estructura WDF_REQUEST_SEND_OPTIONS especifica las opciones asociadas al envío de una solicitud de E/S a un destino de E/S.

Sintaxis

typedef struct _WDF_REQUEST_SEND_OPTIONS {
  ULONG    Size;
  ULONG    Flags;
  LONGLONG Timeout;
} WDF_REQUEST_SEND_OPTIONS, *PWDF_REQUEST_SEND_OPTIONS;

Miembros

Size

Tamaño, en bytes, de esta estructura.

Flags

OR bit a bit de marcas con tipo WDF_REQUEST_SEND_OPTIONS_FLAGS.

Timeout

Valor de tiempo de espera, en unidades de tiempo del sistema (intervalos de 100 nanosegundos). Si el controlador ha establecido la marca WDF_REQUEST_SEND_OPTION_TIMEOUT, el marco cancela la solicitud de E/S asociada si no se completa dentro del período de tiempo de espera especificado. El valor de tiempo de espera puede ser negativo, positivo o cero, como se indica a continuación:

  • Si el valor es negativo, la hora de expiración es relativa a la hora actual del sistema.
  • Si el valor es positivo, la hora de expiración se especifica como una hora absoluta (que es realmente relativa al 1 de enero de 1601).
  • Si el valor es cero, el marco no agota el tiempo de espera de la solicitud.
Los tiempos de expiración relativos no se ven afectados por ningún cambio en la hora del sistema que pueda producirse dentro del período de tiempo de espera especificado. Los tiempos de expiración absolutos reflejan los cambios en la hora del sistema.

El marco proporciona funciones de conversión de tiempo que convierten valores de tiempo en unidades de tiempo del sistema.

Si el marco cancela una solicitud de E/S porque ha transcurrido el período de tiempo de espera especificado, el marco proporciona un estado de finalización de STATUS_IO_TIMEOUT para la solicitud de E/S. Sin embargo, una vez transcurrido el período de tiempo de espera, el destino de E/S podría completar la solicitud de E/S antes de que el marco pueda cancelarla. En ese caso, el estado de finalización de la solicitud de E/S no se STATUS_IO_TIMEOUT.

Comentarios

La estructura WDF_REQUEST_SEND_OPTIONS se pasa a métodos de objeto que envían una solicitud de E/S a un destino de E/S, como el método WdfRequestSend . La estructura debe inicializarse llamando a las funciones WDF_REQUEST_SEND_OPTIONS_INIT y WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT .

Si el controlador envía la solicitud de forma sincrónica, se recomienda que el controlador establezca un valor de tiempo de espera y la marca de tiempo de espera en el miembro Flags de esta estructura.

Requisitos

Requisito Value
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado wdfrequest.h (incluir Wdf.h)

Consulte también

WDF_REQUEST_SEND_OPTIONS_FLAGS

WDF_REQUEST_SEND_OPTIONS_INIT

WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT

WdfRequestSend