Condividi tramite


Registrazione per la notifica di modifica del dispositivo di destinazione

Un driver esegue la registrazione per la notifica degli eventi di modifica del dispositivo di destinazione PnP chiamando IoRegisterPlugPlayNotification.

Le informazioni seguenti si applicano alla chiamata di questa routine per la notifica di modifica del dispositivo di destinazione:

  • Specificare un oggetto EventCategory di EventCategoryTargetDeviceChange.

  • EventCategoryData deve puntare all'oggetto file per il dispositivo in cui viene richiesta la notifica.

    Se la routine di callback del driver richiede l'accesso all'oggetto file, il driver deve rimuovere un riferimento sull'oggetto file prima di chiamare IoRegisterPlugPlayNotification.

    Se la routine di callback del driver non richiede l'accesso all'oggetto file, il driver non deve fare riferimento all'oggetto.

    Dopo la chiusura dell'oggetto file, il driver continua a ricevere notifiche per il dispositivo fino a quando il driver non rimuove la registrazione della notifica. Questa progettazione consente al driver di ricevere una notifica di GUID_TARGET_DEVICE_REMOVE_CANCELLED eventi, ad esempio.

  • Specificare un contesto definito dal driver che il gestore PnP passerà alla routine di callback.

    Un driver può usare il parametro Context per mantenere le informazioni sullo stato corrente dell'oggetto file( ad esempio, è stato chiuso/eliminato).

    Un driver può anche usare il contesto per archiviare il percorso usato per aprire originariamente il dispositivo. Un driver può usare questo percorso per riaprire il dispositivo dopo un'operazione di rimozione annullata. Per altre informazioni, vedere Gestione di un evento GUID_TARGET_DEVICE_REMOVE_CANCELLED .

Un driver rimuove una registrazione di notifica chiamando IoUnregisterPlugPlayNotification con NotificationEntry restituito da IoRegisterPlugPlayNotification. Se il driver ha estratto un riferimento sull'oggetto file quando è stato registrato per la notifica e tale riferimento è ancora in sospeso, il driver deve rilasciare il riferimento dopo la rimozione della registrazione.