WDF_REQUEST_SEND_OPTIONS struttura (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;

Members

Size

Dimensione, in byte, della struttura.

Flags

Or bit per bit di flag tipizzato WDF_REQUEST_SEND_OPTIONS_FLAGS.

Timeout

Valore di timeout, nelle unità di tempo di sistema (intervalli a 100 nanosecondi). Se il driver ha impostato il flag di 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 segue:

  • 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 timeout la richiesta.
I tempi di scadenza relativi non sono interessati dalle modifiche apportate al tempo di sistema che potrebbero verificarsi entro il periodo di timeout specificato. I tempi di scadenza assoluti riflettono le modifiche del tempo di sistema.

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

Se il framework annulla una richiesta di I/O perché il periodo di timeout specificato è trascorso, il framework fornisce uno stato di completamento di STATUS_IO_TIMEOUT per la richiesta di I/O. Tuttavia, dopo aver trascorso il 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 sarà STATUS_IO_TIMEOUT.

Commenti

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 di 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 membro Flags di questa struttura.

Requisiti

Requisito Valore
Versione KMDF minima 1.0
Versione UMDF minima 2,0
Intestazione wdfrequest.h (include Wdf.h)

Vedi anche

WDF_REQUEST_SEND_OPTIONS_FLAGS

WDF_REQUEST_SEND_OPTIONS_INIT

WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT

WdfRequestSend