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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per