Uso delle destinazioni di I/O in UMDF
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.
Gli esempi di UMDF 1 archiviati sono disponibili nell'Windows 11, versione 22H2 - Aggiornamento degli esempi di driver di maggio 2022.
Per altre informazioni, vedere Introduzione con UMDF.
Quando un driver riceve una richiesta di I/O, il driver potrebbe essere in grado di elaborare la richiesta da solo oppure potrebbe richiedere l'assistenza di altri driver. Se il driver richiede assistenza, può inoltrare la richiesta a un altro driver oppure può creare una o più nuove richieste e inviarle a un altro driver.
I driver basati su UMDF usano destinazioni di I/O per inviare richieste di I/O a un altro driver. Ogni destinazione di I/O è rappresentata da un oggetto di destinazione di I/O. Ogni oggetto di destinazione I/O è principalmente una coda. Quando un driver invia una richiesta a una destinazione di I/O, il framework archivia la richiesta nella coda fino a quando non può recapitare la richiesta alla destinazione di I/O.
Il framework supporta sia destinazioni di I/O generali che destinazioni di I/O specializzate:
Le destinazioni di I/O generali possono essere usate da tutti i driver UMDF, ma non supportano formati di dati specifici del dispositivo.
Le destinazioni di I/O specializzate consentono ai driver UMDF di inviare richieste di I/O che richiedono formattazione di dati speciali e specifiche di destinazione. Attualmente, il framework fornisce supporto per le destinazioni di I/O USB.
Se il framework fornisce destinazioni di I/O specializzate che supportano il formato dati del dispositivo, il driver deve usare le destinazioni di I/O specializzate. In caso contrario, il driver deve usare destinazioni di I/O generali.