Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Avvertimento
UMDF 2 è la versione più recente di UMDF e sostituisce UMDF 1. Tutti i nuovi driver UMDF devono essere scritti usando UMDF 2. Non vengono aggiunte nuove funzionalità 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 possono essere trovati in Windows 11, versione 22H2 - Aggiornamento degli esempi di driver di maggio 2022.
Per altre informazioni, vedere Introduzione a UMDF.
Nella figura seguente viene illustrata la gerarchia di oggetti framework padre-figlio.
L'ambito di durata degli oggetti framework è determinato dalla posizione nella gerarchia e dalla modalità di creazione degli oggetti. L'ambito di durata degli oggetti framework rientra in una delle categorie seguenti:
Il framework controlla la creazione e la distruzione degli oggetti.
Il framework crea ed elimina oggetti, come l'oggetto driver e l'oggetto dispositivo , in risposta agli eventi di sistema. Quando un driver in modalità utente chiama il metodo IWDFDriver::CreateDevice per creare l'oggetto dispositivo, il driver può facoltativamente registrarsi per ricevere una notifica dal framework prima che l'oggetto dispositivo venga eliminato definitivamente.
Il framework crea l'oggetto; Tuttavia, il driver controlla quando l'oggetto viene rilasciato.
Quando l'I/O viene presentato al driver, l'oggetto di richiesta I/O segue questo schema. Il framework crea l'oggetto richiesta e la durata dell'oggetto richiesta è valida fino a quando il driver non chiama il metodo IWDFIoRequest::Complete.
Il driver crea l'oggetto e associa l'oggetto a un altro oggetto framework.
Alcuni oggetti del framework vengono creati attraverso un metodo esposto da un'istanza dell'oggetto framework genitore, a cui devono essere associati gli oggetti per motivi di gestione del ciclo di vita. Il metodo IWDFDevice::CreateIoQueue è un esempio di questo modello. Se una chiamata a IWDFDevice::CreateIoQueue ha esito positivo, la coda di I/O appena creata viene associata all'istanza del dispositivo rappresentata dall'interfaccia IWDFDevice. Quando l'oggetto padre viene eliminato, il framework pulisce automaticamente le istanze figlie. I driver ricevono una notifica di questi eventi se i driver registrano le funzioni di callback appropriate con il framework.