estrutura WDF_REQUEST_SEND_OPTIONS (wdfrequest.h)

[Aplica-se a KMDF e UMDF]

A estrutura WDF_REQUEST_SEND_OPTIONS especifica opções associadas ao envio de uma solicitação de E/S para um destino de E/S.

Sintaxe

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

Membros

Size

O tamanho, em bytes, dessa estrutura.

Flags

Um OR bit a bit de sinalizadores do tipo WDF_REQUEST_SEND_OPTIONS_FLAGS.

Timeout

Um valor de tempo limite, em unidades de tempo do sistema (intervalos de 100 nanossegundos). Se o driver tiver definido o sinalizador WDF_REQUEST_SEND_OPTION_TIMEOUT, a estrutura cancelará a solicitação de E/S associada se ela não for concluída dentro do período de tempo limite especificado. O valor de tempo limite pode ser negativo, positivo ou zero, da seguinte maneira:

  • Se o valor for negativo, o tempo de expiração será relativo ao tempo atual do sistema.
  • Se o valor for positivo, o tempo de expiração será especificado como um tempo absoluto (que na verdade é relativo a 1º de janeiro de 1601).
  • Se o valor for zero, a estrutura não atingirá o tempo limite da solicitação.
Os tempos de expiração relativos não são afetados por nenhuma alteração no tempo de sistema que possa ocorrer dentro do período de tempo limite especificado. Os tempos de expiração absolutos refletem as alterações de tempo do sistema.

A estrutura fornece funções de conversão de tempo que convertem valores de tempo em unidades de tempo do sistema.

Se a estrutura cancelar uma solicitação de E/S porque o período de tempo limite especificado tiver decorrido, a estrutura fornecerá uma status de conclusão de STATUS_IO_TIMEOUT para a solicitação de E/S. No entanto, após o período de tempo limite decorrido, o destino de E/S pode concluir a solicitação de E/S antes que a estrutura possa cancelá-la. Nesse caso, a status de conclusão da solicitação de E/S não será STATUS_IO_TIMEOUT.

Comentários

A estrutura WDF_REQUEST_SEND_OPTIONS é passada para métodos de objeto que enviam uma solicitação de E/S para um destino de E/S, como o método WdfRequestSend . A estrutura deve ser inicializada chamando as funções WDF_REQUEST_SEND_OPTIONS_INIT e WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT .

Se o driver estiver enviando a solicitação de forma síncrona, recomendamos que o driver defina um valor de tempo limite e o sinalizador de tempo limite no membro Flags dessa estrutura.

Requisitos

Requisito Valor
Versão mínima do KMDF 1.0
Versão mínima do UMDF 2,0
Cabeçalho wdfrequest.h (inclua Wdf.h)

Confira também

WDF_REQUEST_SEND_OPTIONS_FLAGS

WDF_REQUEST_SEND_OPTIONS_INIT

WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT

WdfRequestSend