Registrazione di una classe di interfaccia dispositivo
Esistono due modi per registrare una classe di interfaccia dispositivo:
Un driver che controlla un dispositivo PnP può registrare un'interfaccia del dispositivo in una particolare classe di interfaccia di dispositivo . Durante la registrazione dell'interfaccia del dispositivo , la classe dell'interfaccia del dispositivo verrà creata in modo implicito. In questo argomento viene descritto come usare le routine per registrare un'interfaccia del dispositivo .
Un file INF può contenere sezioni di INF DDInstall.Interfaces .
Un driver WDM non denomina gli oggetti del dispositivo. Al contrario, quando il driver chiama IoCreateDevice per creare un oggetto dispositivo, deve specificare una stringa Null per il nome del dispositivo. Per altre informazioni, vedere Creazione di un oggetto dispositivo.
Dopo aver creato l'oggetto dispositivo e collegato allo stack di dispositivi, un driver chiama IoRegisterDeviceInterface per registrare una classe di interfaccia del dispositivo e creare un'interfaccia dispositivo istanza della classe. In genere, il driver di funzione effettua questa chiamata dalla routine AddDevice, ma a volte un driver di filtro registra l'interfaccia.
La routine restituisce un nome di collegamento simbolico. Un driver passa il nome del collegamento quando abilita o disabilita l'istanza dell'interfaccia del dispositivo. Altri componenti di sistema non possono usare un'istanza dell'interfaccia del dispositivo fino a quando il driver non lo ha abilitato. Per informazioni dettagliate, vedere Abilitazione e disabilitazione di un'istanza dell'interfaccia del dispositivo.
Il driver usa anche il nome del collegamento simbolico per accedere alla chiave del Registro di sistema, in cui può archiviare informazioni specifiche dell'interfaccia del dispositivo (per altre informazioni, vedere IoOpenDeviceInterfaceRegistryKey). Le applicazioni usano il nome del collegamento per aprire il dispositivo.
Un driver può chiamare IoRegisterDeviceInterface quante volte necessario per registrare istanze di classi di interfaccia dispositivo aggiuntive.
Per usare interfacce di dispositivo da un driver WDF, vedere Using device interfaces (WDF).