Registrando-se para notificação de alteração da interface do dispositivo
Um driver registra para notificação de eventos de chegada e remoção da interface do dispositivo chamando IoRegisterPlugPlayNotification.
As seguintes informações se aplicam a chamar essa rotina para notificação de alteração da interface do dispositivo:
Especifique uma EventCategory de EventCategoryDeviceInterfaceChange.
EventCategoryData deve apontar para o GUID de uma classe de interface do dispositivo.
O GUID de uma classe de interface normalmente é definido em um arquivo de cabeçalho com as estruturas, constantes e assim por diante, para a interface .
Especifique um EventCategoryFlags de PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES.
Esse sinalizador orienta o gerenciador de PnP a registrar a CallbackRoutine para futuras chegadas e saídas da interface do dispositivo da classe especificada e chamar a CallbackRoutine imediatamente para quaisquer interfaces de dispositivo relevantes que já estejam ativas.
Um driver pode chamar IoGetDeviceInterfaces para obter uma lista de interfaces existentes de uma classe específica e registrar sua rotina de retorno de chamada sem esse sinalizador, mas usar o sinalizador é mais fácil e evita um possível problema de tempo.
Especifique um Contexto definido pelo driver, se apropriado, que o gerenciador PnP passará para a rotina de retorno de chamada.
Um driver que abre um identificador para um dispositivo em resposta a uma notificação de chegada da interface do dispositivo deve se registrar para eventos EventCategoryTargetDeviceChange no dispositivo. (Consulte Usando a notificação de alteração de dispositivo de destino PnP.)
Um driver cancela o registro de notificação chamando IoUnregisterPlugPlayNotification com NotificationEntry retornado por IoRegisterPlugPlayNotification.