enumerazione WDF_DEVICE_IO_TYPE (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_TYPE viene usata per specificare un metodo per l'accesso ai buffer di dati.
Sintassi
typedef enum _WDF_DEVICE_IO_TYPE {
WdfDeviceIoUndefined,
WdfDeviceIoNeither,
WdfDeviceIoBuffered,
WdfDeviceIoDirect,
WdfDeviceIoBufferedOrDirect,
WdfDeviceIoMaximum
} WDF_DEVICE_IO_TYPE, *PWDF_DEVICE_IO_TYPE;
Costanti
WdfDeviceIoUndefined Riservato per l'utilizzo nel sistema. |
WdfDeviceIoNeither Riservato per l'utilizzo nel sistema. |
WdfDeviceIoBuffered UMDF e driver usano I/O con buffer per accedere ai buffer dei dati. |
WdfDeviceIoDirect UMDF e driver usano i/O diretti per accedere ai buffer di dati. |
WdfDeviceIoBufferedOrDirect UMDF e il driver possono usare I/O con buffer o I/O diretto per accedere ai buffer dei dati. |
WdfDeviceIoMaximum Riservato per l'utilizzo nel sistema. |
Commenti
L'enumerazione WDF_DEVICE_IO_TYPE viene usata come input per IWDFDeviceInitialize2::SetIoTypePreference e come output da IWDFIoRequest2::GetEffectiveIoType.
Quando si sceglie un tipo di I/O per il driver, è consigliabile usare le linee guida seguenti:
- L'I/O con buffer offre la massima sicurezza e affidabilità, perché le applicazioni e i driver accedono a copie separate dei dati. Inoltre, l'I/O con buffer offre prestazioni ottimali se la maggior parte dei trasferimenti di dati è relativamente piccola (in genere due pagine di memoria o meno).
- I/O diretto offre prestazioni ottimali se la maggior parte delle richieste di I/O trasferisce grandi quantità di dati. Tuttavia, le applicazioni e i driver accedono a una singola copia dei dati. Pertanto, il driver deve copiare i parametri specificati dall'applicazione nella memoria del driver locale prima di convalidare i parametri per assicurarsi che l'applicazione non modifica i parametri dopo la convalida. Se il driver deve convalidare grandi quantità di dati dell'applicazione, l'I/O memorizzato nel buffer potrebbe essere una scelta migliore perché il driver non deve copiare i dati prima di convalidarlo.
- In genere, un driver di filtro che può risiedere in diversi stack di driver ed esegue un'elaborazione ridotta dei dati dell'applicazione può supportare sia I/O con buffer che I/O diretto e quindi può specificare WdfDeviceIoBufferedOrDirect. Tuttavia, se il driver convalida i parametri specificati dall'applicazione, deve copiarli prima quando viene usato l'I/O diretto.
Per la versione kmDF di questa enumerazione, vedere WDF_DEVICE_IO_TYPE.
Requisiti
Requisito | Valore |
---|---|
Versione UMDF minima | 1,9 |
Intestazione | wudfddi_types.h (includere Wudfddi.h) |
Vedi anche
IWDFDeviceInitialize2::SetIoTypePreference
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