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 gestore PnP fornisce un meccanismo per i driver e le applicazioni che devono ricevere notifiche quando si verificano determinati eventi in un dispositivo specifico o nel sistema in generale. Un driver può registrarsi per la notifica delle categorie di eventi seguenti:
CategoriaEventoCambioInterfacciaDispositivo
Quando un driver esegue la registrazione per questa categoria di eventi in un'interfaccia del dispositivo, il gestore PnP invia una notifica al driver degli eventi seguenti:
GUID_DEVICE_INTERFACE_ARRIVAL
Indica che è stata abilitata un'interfaccia del dispositivo della classe specificata. Ad esempio, un utente ha aggiunto un nuovo disco al computer e la gestione volumi ha abilitato un nuovo volume (un'interfaccia dispositivo della classe "volume").GUID_DEVICE_INTERFACE_REMOVAL
Indica che un'interfaccia del dispositivo della classe specificata è stata disabilitata.Per altre informazioni sulle interfacce del dispositivo, vedere IoRegisterDeviceInterface e le routine correlate.
EventCategoryTargetDeviceChange
Quando un driver esegue la registrazione per questa categoria di eventi in un dispositivo, il gestore PnP invia una notifica al driver quando si verificano gli eventi seguenti nel dispositivo:
GUID_RICHIESTA_RIMOZIONE_DISPOSITIVO_DI_DESTINAZIONE
Indica che il gestore PnP sta per rimuovere i driver per il dispositivo. Diverse azioni possono causare questo evento, tra cui: un utente ha richiesto di rimuovere il dispositivo specificato dal computer o un utente ha inviato una richiesta di aggiornamento driver per il dispositivo. Questa notifica richiede ai driver del dispositivo di approvare o rifiutare l'operazione di rimozione imminente.GUID_TARGET_DEVICE_REMOVE_COMPLETE
Indica che il dispositivo specificato è stato rimosso dal computer o che un utente sta modificando i driver per il dispositivo.GUID_TARGET_DEVICE_REMOVE_CANCELLED
Indica che un'operazione di rimozione in sospeso nel dispositivo specificato è stata annullata.GUID_XXX (eventi personalizzati)
Indica che si è verificato un evento personalizzato nel dispositivo specificato.Un autore di driver può definire un evento personalizzato per un dispositivo. Quando il driver (o un altro componente correlato) notifica al gestore PnP che si è verificato l'evento personalizzato, il gestore PnP notifica a tutti i componenti registrati per le notifiche di modifica relative al dispositivo di destinazione.
A differenza della registrazione per le modifiche all'interfaccia del dispositivo, che può essere considerato un interesse "passivo" nell'interfaccia, la registrazione per le modifiche del dispositivo di destinazione indica un interesse "attivo" in un dispositivo.
CategoriaEventoCambioProfiloHardware
Questa categoria include gli eventi seguenti:
GUID_HWPROFILE_QUERY_CHANGE
Indica che un utente ha richiesto di modificare il profilo hardware del computer. Il gestore PnP usa questa notifica per chiedere ai componenti registrati se può modificare il profilo hardware senza interrompere l'operazione di sistema. I componenti registrati soddisfano tipicamente queste richieste di query.GUID_HWPROFILE_CHANGE_COMPLETE
Indica che il profilo hardware del computer è stato modificato. Se un driver gestisce impostazioni specifiche del profilo, tale driver deve aggiornare tali impostazioni dopo una modifica del profilo hardware.GUID_CAMBIO_PROFILO_HARDWARE_ANNULLATO
Indica che una modifica del profilo hardware in sospeso è stata annullata.
La notifica PnP funziona come indicato di seguito per i componenti in modalità kernel:
Un driver si registra per ricevere notifiche su una categoria di eventi chiamando IoRegisterPlugPlayNotification.
Una routine di callback di notifica PnP rimane registrata fino a quando il driver non rimuove in modo esplicito la registrazione.
Il gestore PnP chiama la routine di callback del driver quando si verifica un evento nella categoria registrata.
Il driver rimuove la registrazione del callback chiamando la funzione IoUnregisterPlugPlayNotification.
I driver non devono generare un evento sincrono o attendere che si verifichi un evento asincrono durante l'elaborazione di una chiusura.
Per altre informazioni sulla notifica PnP, vedere le sezioni seguenti:
Linee guida per la scrittura di routine di callback delle notifiche PnP
Uso della notifica di modifica dell'interfaccia del dispositivo PnP
Uso della notifica di modifica del dispositivo di destinazione PnP