Freigeben über


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:

    1. Entfernen Sie die alte Registrierung mit IoUnregisterPlugPlayNotification.

    2. Öffnen Sie ein neues Handle für das Gerät.

    3. Registrieren Sie sich mit IoRegisterPlugPlayNotification erneut für Benachrichtigungen für das neue Handle.