Registrazione di una classe di interfaccia del dispositivo
Esistono due modi per registrare una classe di interfaccia del dispositivo:
Un driver che controlla un dispositivo PnP può registrare un'interfaccia del dispositivo in una classe di interfaccia dispositivo specifica. Durante la registrazione dell'interfaccia del dispositivo, la classe dell'interfaccia del dispositivo verrà creata in modo implicito. Questo argomento descrive come usare le routine per registrare un'interfaccia del dispositivo.
Un file INF può contenere sezioni INF DDInstall.Interfaces.
Un driver WDM non denomina gli oggetti 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'istanza dell'interfaccia dispositivo 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 finché 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 tutte le volte necessario per registrare istanze di classi di interfaccia dispositivo aggiuntive.
Per usare le interfacce di dispositivo da un driver WDF, vedere Uso delle interfacce di dispositivo (WDF).