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 di notifica in modalità kernel registrate per EventCategoryTargetDeviceChange nel dispositivo. Il gestore PnP specifica notificationStructure. Evento di GUID_TARGET_DEVICE_REMOVE_COMPLETE.

Quando si gestisce un evento GUID_TARGET_DEVICE_REMOVE_COMPLETE, una routine di callback di notifica 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 potrebbe essere ancora 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 a sorpresa, il gestore PnP invia i driver registrati una notifica di rimozione completa senza una notifica di rimozione delle query precedente. In questo caso, un driver deve eseguire qualsiasi pulizia necessaria, ad esempio chiudere eventuali handle nel dispositivo e rimuovere eventuali riferimenti in sospeso all'oggetto file.