Udostępnij przez


Obsługa zdarzenia typu GUID_TARGET_DEVICE_REMOVE_COMPLETE

Zanim menedżer PnP wyśle IRP_MN_REMOVE_DEVICE IRP do sterowników urządzenia, menedżer PnP wywołuje wszelkie procedury wywołania zwrotnego powiadomień trybu jądra, które zostały zarejestrowane dla EventCategoryTargetDeviceChange na urządzeniu. Menedżer PnP określa NotificationStructure.Zdarzenie GUID_TARGET_DEVICE_REMOVE_COMPLETE.

W przypadku obsługi zdarzenia GUID_TARGET_DEVICE_REMOVE_COMPLETE powinna być wywołana procedura zwrotna powiadomienia:

  • Usuń rejestrację powiadomień na urządzeniu.

    Urządzenie zostało usunięte, więc sterownik wywołuje IoUnregisterPlugPlayNotification, aby usunąć rejestrację powiadomień.

    Urządzenie może nadal być fizycznie obecne na maszynie, ale wszystkie obiekty urządzeń zostały usunięte, a urządzenie nie jest dostępne do użycia.

  • Wykonaj przetwarzanie usunięcia z zaskoczenia, jeśli sterownik nie otrzymał wcześniejszego powiadomienia o zapytaniu o usunięcie.

    Jeśli urządzenie zostanie niespodziewanie usunięte, menedżer PnP wysyła zarejestrowanym sterownikom powiadomienie o zakończeniu usunięcia bez wcześniejszego zapytania o usunięcie. W takim przypadku sterownik musi wykonać wszelkie niezbędne oczyszczanie, takie jak zamknięcie jakichkolwiek dojść do urządzenia i usunięcie wszelkich zaległych odwołań do obiektu pliku.