Condividi tramite


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.