Condividi tramite


Gestione di un evento GUID_TARGET_DEVICE_REMOVE_COMPLETE

Prima che il gestore PnP invii un IRP_MN_REMOVE_DEVICE IRP ai driver per un dispositivo, il gestore PnP chiama tutte le routine di callback in modalità kernel registrate per EventCategoryTargetDeviceChange nel dispositivo. Il gestore PnP specifica un NotificationStructure. di GUID_TARGET_DEVICE_REMOVE_COMPLETE.

Quando si gestisce un evento GUID_TARGET_DEVICE_REMOVE_COMPLETE, una routine di callback per notifiche deve:

  • Rimuovere la registrazione delle notifiche nel dispositivo.

    Il dispositivo è stato rimosso, quindi il driver chiama IoUnregisterPlugPlayNotification per rimuovere la registrazione della notifica.

    Il dispositivo può ancora essere fisicamente presente nel computer, ma tutti gli oggetti dispositivo sono stati eliminati e il dispositivo non è disponibile per l'uso.

  • Eseguire l'elaborazione di rimozione a sorpresa se il driver non ha ricevuto una notifica di rimozione query precedente.

    Se un dispositivo viene rimosso inaspettatamente, il gestore PnP invia ai driver registrati una notifica di rimozione completa senza una notifica di richiesta di rimozione preventiva. In questo caso un driver deve eseguire tutte le operazioni di pulizia necessarie, ad esempio la chiusura di eventuali handle del dispositivo e la rimozione di eventuali riferimenti in sospeso all'oggetto del file.