Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il sistema operativo rappresenta i dispositivi oggetti dispositivo. Uno o più oggetti dispositivo sono associati a ogni dispositivo. Gli oggetti dispositivo fungono da destinazione di tutte le operazioni nel dispositivo.
I driver in modalità kernel devono creare almeno un oggetto dispositivo per ogni dispositivo, con le eccezioni seguenti:
I minidriver che hanno una classe o un driver di porta associati non devono creare i propri oggetti dispositivo. La classe o il driver di porta crea gli oggetti dispositivo e invia le operazioni al minidriver.
I driver che fanno parte di sottosistemi specifici del tipo di dispositivo, ad esempio i driver miniport NDIS, hanno gli oggetti dispositivo creati dal sottosistema.
Vedere la documentazione relativa al tipo di dispositivo specifico per determinare se il driver crea oggetti dispositivo personalizzati.
Alcuni oggetti dispositivo non rappresentano dispositivi fisici. Un driver solo software, che gestisce le richieste di I/O, ma non le passa all'hardware, deve comunque creare un oggetto dispositivo per rappresentare la destinazione delle operazioni.
Per altre informazioni su come il driver può creare oggetti dispositivo, vedere Creazione di un oggetto dispositivo.
I dispositivi sono in genere rappresentati da più oggetti dispositivo, uno per ogni driver nello stack di driver che gestisce le richieste di I/O per il dispositivo. Gli elementi di un dispositivo sono organizzati in una pila di dispositivi . Ogni volta che un'operazione viene eseguita su un dispositivo, il sistema passa una struttura di dati IRP al driver per l'oggetto dispositivo superiore nello stack di dispositivi. Ogni driver gestisce l'IRP o lo passa al driver associato all'oggetto dispositivo inferiore successivo nello stack di dispositivi. Per altre informazioni sugli stack di dispositivi, vedere esempio di stack di dispositivi WDM. Per altre informazioni sui runtime di integrazione, vedere Gestione dei runtime di integrazione.
Gli oggetti dispositivo sono rappresentati da strutture DEVICE_OBJECT gestite dal gestore oggetti. Il gestore degli oggetti fornisce le stesse funzionalità per gli oggetti dispositivo come fa per gli altri oggetti di sistema. In particolare, un oggetto dispositivo può essere denominato e un oggetto dispositivo denominato può avere handle aperti su di esso. Per ulteriori informazioni sugli oggetti dispositivo denominati, vedere Named Device Objects.
Il sistema fornisce spazio di archiviazione dedicato per ogni oggetto dispositivo, denominato estensione del dispositivo, che il driver può usare per l'archiviazione specifica del dispositivo. L'estensione del dispositivo viene creata e liberata dal sistema insieme all'oggetto dispositivo. Per altre informazioni, vedere Device Extensions.
La figura seguente illustra la relazione tra gli oggetti dispositivo e il gestore di I/O.
La figura mostra i membri della struttura DEVICE_OBJECT di interesse per un autore di driver. Per altre informazioni su questi membri, vedere Creating a Device Object, Initializing a Device Objecte Properties of Device Objects.