Condividi tramite


struttura WDF_REQUEST_SEND_OPTIONS (wdfrequest.h)

[Si applica a KMDF e UMDF]

La struttura WDF_REQUEST_SEND_OPTIONS specifica le opzioni associate all'invio di una richiesta di I/O a una destinazione di I/O.

Sintassi

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

Membri

Size

Dimensione, in byte, di questa struttura.

Flags

OR bit per bit di WDF_REQUEST_SEND_OPTIONS_FLAGSflag tipizzato.

Timeout

Valore di timeout, in unità di tempo di sistema (intervalli di 100 nanosecondi). Se il driver ha impostato il flag WDF_REQUEST_SEND_OPTION_TIMEOUT, il framework annulla la richiesta di I/O associata se non viene completata entro il periodo di timeout specificato. Il valore di timeout può essere negativo, positivo o zero, come indicato di seguito:

  • Se il valore è negativo, l'ora di scadenza è relativa all'ora di sistema corrente.
  • Se il valore è positivo, l'ora di scadenza viene specificata come ora assoluta (che è effettivamente relativa al 1° gennaio 1601).
  • Se il valore è zero, il framework non verifica il timeout della richiesta.
Le scadenze relative non sono interessate dalle modifiche apportate all'ora di sistema che potrebbero verificarsi entro il periodo di timeout specificato. I tempi di scadenza assoluti riflettono le modifiche all'ora di sistema.

Il framework fornisce funzioni di conversione ora che converte i valori di ora in unità temporali di sistema.

Se il framework annulla una richiesta di I/O perché è trascorso il periodo di timeout specificato, il framework fornisce lo stato di completamento di STATUS_IO_TIMEOUT per la richiesta di I/O. Tuttavia, dopo la scadenza del periodo di timeout, la destinazione di I/O potrebbe completare la richiesta di I/O prima che il framework possa annullarlo. In tal caso, lo stato di completamento della richiesta di I/O non verrà STATUS_IO_TIMEOUT.

Osservazioni

La struttura WDF_REQUEST_SEND_OPTIONS viene passata ai metodi oggetto che inviano una richiesta di I/O a una destinazione di I/O, ad esempio il metodo WdfRequestSend. La struttura deve essere inizializzata chiamando le funzioni WDF_REQUEST_SEND_OPTIONS_INIT e WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT.

Se il driver invia la richiesta in modo sincrono, è consigliabile impostare un valore di timeout e il flag di timeout nel Flag membro di questa struttura.

Fabbisogno

Requisito Valore
versione minima di KMDF 1.0
versione minima di UMDF 2.0
intestazione wdfrequest.h (include Wdf.h)

Vedere anche

WDF_REQUEST_SEND_OPTIONS_FLAGS

WDF_REQUEST_SEND_OPTIONS_INIT

WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT

WdfRequestSend