Condividi tramite


Registrazione per la notifica delle modifiche dell'interfaccia dispositivo

Un driver esegue la registrazione per la notifica degli eventi di arrivo e rimozione dell'interfaccia del dispositivo chiamando IoRegisterPlugPlayNotification.

Le informazioni seguenti si applicano alla chiamata di questa routine per la notifica di modifica dell'interfaccia del dispositivo:

  • Specificare un EventCategory di EventCategoryDeviceInterfaceChange.

  • EventCategoryData deve puntare al GUID per una classe di interfaccia del dispositivo.

    Il GUID per una classe di interfaccia viene in genere definito in un file di intestazione con le strutture, le costanti e così via per l'interfaccia.

  • Specificare un EventCategoryFlags di PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES.

    Questo flag indica al manager PnP di registrare CallbackRoutine per gli arrivi e le uscite future dell'interfaccia del dispositivo della classe specificata e di chiamare immediatamente CallbackRoutine per tutte le interfacce del dispositivo pertinenti già attive.

    Un driver può chiamare IoGetDeviceInterfaces per ottenere un elenco di interfacce esistenti di una classe specifica e quindi registrare la routine di callback senza questo flag, ma l'uso del flag è più semplice ed evita un potenziale problema di intervallo.

  • Specificare un contesto definito dal driver, se opportuno, che il gestore PnP passerà alla routine di callback.

Un driver che apre un handle a un dispositivo in risposta a una notifica di arrivo dell'interfaccia del dispositivo deve registrarsi per gli eventi EventCategoryTargetDeviceChange nel dispositivo. Vedere Uso della notifica di modifica del dispositivo di destinazione PnP.

Un driver annulla la registrazione delle notifiche chiamando IoUnregisterPlugPlayNotification con l'NotificationEntry restituito da IoRegisterPlugPlayNotification.