Condividi tramite


Abilitazione e disabilitazione di un'istanza dell'interfaccia dispositivo

Dopo aver avviato correttamente il dispositivo, il driver che ha registrato l'interfaccia chiama IoSetDeviceInterfaceState per abilitare un'istanza dell'interfaccia. Il driver passa il nome di collegamento simbolico restituito da IoRegisterDeviceInterface insieme al valore booleano TRUE per abilitare l'istanza dell'interfaccia.

Se il driver può avviare correttamente il dispositivo, deve chiamare questa routine durante la gestione della richiesta di IRP_MN_START_DEVICE del gestore Plug and Play (PnP).

Al termine della richiesta di IRP_MN_START_DEVICE, il gestore PnP genera notifiche di arrivo dell'interfaccia dispositivo a qualsiasi componente in modalità kernel o in modalità utente che li ha richiesti. Per altre informazioni, vedere Registrazione per la notifica delle modifiche dell'interfaccia del dispositivo.

Per disabilitare un'istanza dell'interfaccia del dispositivo, un driver chiama IoSetDeviceInterfaceState, passando il nome SimbolicoLinkName restituito da IoRegisterDeviceInterface e FALSE come valore di Enable.

Un driver deve disabilitare le interfacce di un dispositivo quando gestisce una richiesta di IRP_MN_SURPRISE_REMOVAL o IRP_MN_REMOVE_DEVICE per il dispositivo. Se un driver non disabilita le interfacce di un dispositivo quando gestisce questi IRP di rimozione, non deve successivamente tentare di eseguire questa operazione perché la gestione PnP disabilita le interfacce quando rimuove il dispositivo.

Un driver non deve disabilitare le interfacce quando il dispositivo viene arrestato (IRP_MN_STOP_DEVICE); deve invece lasciare tutte le interfacce del dispositivo abilitate e le richieste di I/O in coda fino a quando non riceve un'altra richiesta di IRP_MN_START_DEVICE . Analogamente, un driver non deve disabilitarne le interfacce quando il dispositivo viene inserito in uno stato di sospensione. Deve accodamento delle richieste di I/O fino alla riattivazione del dispositivo. Per altre informazioni, vedere Supporto dei dispositivi con funzionalità Wake-Up.