Behandeln eines GUID_TARGET_DEVICE_REMOVE_CANCELLED-Ereignisses
Wenn eine IRP_MN_QUERY_REMOVE_DEVICE-Anforderung fehlschlägt, sendet der PnP-Manager eine IRP_MN_CANCEL_REMOVE_DEVICE IRP an die Treiber für das Gerät. Nachdem das Cancel-Remove-IRP erfolgreich abgeschlossen wurde, ruft der PnP-Manager alle Benachrichtigungsrückrufroutinen auf, die für EventCategoryTargetDeviceChange auf dem Gerät registriert sind. Der PnP-Manager gibt eine NotificationStructure an. Ereignis der GUID_TARGET_DEVICE_REMOVE_CANCELLED.
Beim Behandeln eines GUID_TARGET_DEVICE_REMOVE_CANCELLED-Ereignisses sollte eine Benachrichtigungsrückrufroutine Folgendes ausführen:
Registrieren Sie sich erneut für die Zielgerätebenachrichtigung.
Da der Treiber das vorherige Registrierungshandle als Reaktion auf die Abfrage-Entfernen-Benachrichtigung geschlossen hat, muss der Treiber ein neues Handle öffnen. Der Treiber muss:
Entfernen Sie die alte Registrierung mit IoUnregisterPlugPlayNotification.
Öffnen Sie ein neues Handle für das Gerät.
Registrieren Sie sich mit IoRegisterPlugPlayNotification erneut für Benachrichtigungen für das neue Handle.