Manipulando um evento de GUID_TARGET_DEVICE_REMOVE_CANCELLED
Se uma solicitação de IRP_MN_QUERY_REMOVE_DEVICE falhar, o gerenciador de PnP enviará um IRP IRP_MN_CANCEL_REMOVE_DEVICE para os drivers do dispositivo. Depois que o IRP cancel-remove for concluído com êxito, o gerenciador PnP chamará todas as rotinas de retorno de chamada de notificação registradas para EventCategoryTargetDeviceChange no dispositivo. O gerenciador PnP especifica uma NotificationStructure. Evento de GUID_TARGET_DEVICE_REMOVE_CANCELLED.
Ao manipular um evento de GUID_TARGET_DEVICE_REMOVE_CANCELLED, uma rotina de retorno de chamada de notificação deve:
Registre novamente a notificação do dispositivo de destino.
Como o driver fechou o identificador de registro anterior em resposta à notificação de remoção de consulta, o driver deve abrir um novo identificador. O driver deve:
Remova o registro antigo com IoUnregisterPlugPlayNotification.
Abra um novo identificador para o dispositivo.
Registre novamente para notificação no novo identificador com IoRegisterPlugPlayNotification.