enumerazione WDF_DEVICE_IO_BUFFER_RETRIEVAL (wudfddi_types.h)

[Avviso: UMDF 2 è la versione più recente di UMDF e sostituisce UMDF 1. Tutti i nuovi driver UMDF devono essere scritti usando UMDF 2. Nessuna nuova funzionalità viene aggiunta a UMDF 1 ed è disponibile un supporto limitato per UMDF 1 nelle versioni più recenti di Windows 10. I driver di Windows universali devono usare UMDF 2. Per altre informazioni, vedere Introduzione con UMDF.]

L'enumerazione WDF_DEVICE_IO_BUFFER_RETRIEVAL viene usata per specificare quando UMDF rende disponibili i buffer di una richiesta di I/O per il driver.

Sintassi

typedef enum _WDF_DEVICE_IO_BUFFER_RETRIEVAL {
  WdfDeviceIoBufferRetrievalInvalid,
  WdfDeviceIoBufferRetrievalCopyImmediately,
  WdfDeviceIoBufferRetrievalDeferred,
  WdfDeviceIoBufferRetrievalMaximum
} WDF_DEVICE_IO_BUFFER_RETRIEVAL, *PWDF_DEVICE_IO_BUFFER_RETRIEVAL;

Costanti

 
WdfDeviceIoBufferRetrievalInvalid
Riservato per l'utilizzo nel sistema.
WdfDeviceIoBufferRetrievalCopyImmediately
UMDF rende disponibili i buffer di una richiesta di I/O al driver (copiandoli nel processo host del driver UMDF) non appena UMDF riceve la richiesta di I/O. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.
WdfDeviceIoBufferRetrievalDeferred
UMDF rende disponibili i buffer di una richiesta di I/O per il driver (copiandoli nel processo host del driver UMDF) solo quando il driver tenta di accedere ai buffer. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.
WdfDeviceIoBufferRetrievalMaximum
Riservato per l'utilizzo nel sistema.

Commenti

L'enumerazione WDF_DEVICE_IO_BUFFER_RETRIEVAL viene usata come input per IWDFDeviceInitialize2::SetIoTypePreference.

Nelle versioni di UMDF precedenti alla versione 1.9, UMDF rende sempre disponibili i buffer della richiesta di I/O per il driver (copiando i buffer nel processo host del driver UMDF) non appena UMDF riceve la richiesta di I/O. IWDFIoRequest::GetInputMemory e IWDFIoRequest::GetOutputMemory sono gli unici metodi a oggetti che i driver possono chiamare per accedere ai buffer.

UMDF versione 1.9 e versioni successive possono supportare il recupero immediato o posticipato dei buffer delle richieste. Tutti i nuovi driver devono abilitare il recupero posticipato perché in genere offre prestazioni migliori del driver rispetto al recupero immediato. Se un driver non abilita il recupero posticipato, UMDF usa il recupero immediato.

Per rinviare il recupero dei buffer, il driver deve chiamare IWDFDeviceInitialize2::SetIoTypePreference e specificare il valore WdfDeviceIoBufferRetrievalDeferred . Dopo che il driver abilita il recupero posticipato, può chiamare i metodi seguenti per accedere ai buffer delle richieste usando il metodo di accesso diretto o bufferato:

IWDFIoRequest2::RetrieveInputBuffer

IWDFIoRequest2::RetrieveInputMemory

IWDFIoRequest2::RetrieveOutputBuffer

IWDFIoRequest2::RetrieveOutputMemory

Un driver che abilita il recupero posticipato non può usare IWDFIoRequest::GetInputMemory e IWDFIoRequest::GetOutputMemory per accedere ai buffer.

Per altre informazioni sull'accesso ai buffer di dati di una richiesta di I/O, vedere Accesso ai buffer dei dati in UMDF-Based driver.

Requisiti

Requisito Valore
Versione UMDF minima 1,9
Intestazione wudfddi_types.h (includere Wudfddi.h)

Vedi anche

WDF_DEVICE_IO_TYPE (UMDF)