Manipulando eventos de alteração de perfil de hardware
Em momentos específicos durante uma alteração de perfil de hardware, o gerenciador PnP chama rotinas de retorno de chamada de notificação registradas para EventCategoryHardwareProfileChange:
Antes de haver uma alteração no perfil de hardware do computador, o gerenciador PnP chama rotinas de retorno de chamada de notificação registradas e especifica uma NotificationStructure. Evento de GUID_HWPROFILE_QUERY_CHANGE.
Após a conclusão da alteração do perfil de hardware do computador, o gerenciador PnP chama rotinas de retorno de chamada de notificação registradas e especifica uma NotificationStructure. Evento de GUID_HWPROFILE_CHANGE_COMPLETE.
Se a alteração do perfil de hardware do computador for cancelada, o gerenciador PnP chamará rotinas de retorno de chamada de notificação registradas e especificará uma NotificationStructure. Evento de GUID_HWPROFILE_CHANGE_CANCELLED.
Para um evento GUID_HWPROFILE_QUERY_CHANGE, o gerenciador de PnP chama rotinas de retorno de chamada no modo usuário e, em seguida, chama rotinas de retorno de chamada no modo kernel. Em resposta a um evento de GUID_HWPROFILE_QUERY_CHANGE, a rotina de retorno de chamada de notificação de um driver normalmente retorna apenas STATUS_SUCCESS.
Para um evento GUID_HWPROFILE_CHANGE_COMPLETE, o gerenciador de PnP chama rotinas de retorno de chamada no modo kernel e, em seguida, chama rotinas de retorno de chamada no modo usuário. Em resposta a esse evento, a rotina de retorno de chamada de um driver pode atualizar suas configurações específicas do perfil de hardware.
Para um evento de GUID_HWPROFILE_CHANGE_CANCELLED, o gerenciador de PnP chama rotinas de retorno de chamada no modo kernel e, em seguida, rotinas de modo de usuário. Em resposta a esse evento, a rotina de retorno de chamada de um driver normalmente retorna apenas STATUS_SUCCESS. Se o driver executasse operações em resposta ao evento GUID_HWPROFILE_QUERY_CHANGE, o driver desfazeria essas operações em resposta ao evento de cancelamento.