Partilhar via


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.