Partager via


structure CM_NOTIFY_FILTER (cfgmgr32.h)

Structure de filtre de notification d’appareil

Syntaxe

typedef struct _CM_NOTIFY_FILTER {
  DWORD                 cbSize;
  DWORD                 Flags;
  CM_NOTIFY_FILTER_TYPE FilterType;
  DWORD                 Reserved;
  union {
    struct {
      GUID ClassGuid;
    } DeviceInterface;
    struct {
      HANDLE hTarget;
    } DeviceHandle;
    struct {
      WCHAR InstanceId[MAX_DEVICE_ID_LEN];
    } DeviceInstance;
  } u;
} CM_NOTIFY_FILTER, *PCM_NOTIFY_FILTER;

Membres

cbSize

Taille de la structure.

Flags

Combinaison de zéro ou plus des indicateurs suivants :

CM_NOTIFY_FILTER_FLAG_ALL_INTERFACE_CLASSES

Inscrivez-vous pour recevoir des notifications pour les événements PnP pour toutes les classes d’interface d’appareil. La mémoire de pFilter-u.DeviceInterface.ClassGuid> doit être égale à zéro. N’utilisez pas cet indicateur avec CM_NOTIFY_FILTER_FLAG_ALL_DEVICE_INSTANCES. Cet indicateur n’est valide que si pFilter-FilterType> est CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE.

CM_NOTIFY_FILTER_FLAG_ALL_DEVICE_INSTANCES

Inscrivez-vous pour recevoir des notifications pour les événements PnP pour tous les appareils. pFilter-u.DeviceInstance.InstanceId> doit être une chaîne vide. N’utilisez pas cet indicateur avec CM_NOTIFY_FILTER_FLAG_ALL_INTERFACE_CLASSES. Cet indicateur est valide uniquement si pFilter-FilterType> est CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE.

FilterType

Il doit s’agir de l’une des valeurs suivantes :

CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE

Inscrivez-vous aux notifications pour les événements d’interface d’appareil. pFilter-u.DeviceInterface.ClassGuid> doit être renseigné avec le GUID de la classe d’interface d’appareil pour laquelle recevoir des notifications.

CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE

Inscrivez-vous aux notifications pour les événements de gestion d’appareil. pFilter-u.DeviceHandle.hTarget> doit être renseigné avec un handle pour l’appareil pour lequel recevoir des notifications. Ce handle doit rester un handle valide pour l’appareil pendant la durée de l’appel CM_Register_Notification . Toutefois, une fois CM_Register_Notification retournée, le handle peut être fermé sans affecter la capacité de l’inscription à recevoir des notifications.

CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE

Inscrivez-vous aux notifications pour les événements de instance d’appareil. pFilter-u.DeviceInstance.InstanceId> doit être renseigné avec l’ID de instance de l’appareil pour lequel recevoir des notifications.

Reserved

Définit la valeur 0.

u

Union qui contient des informations sur l’appareil pour lequel recevoir des notifications.

u.DeviceInterface

u.DeviceInterface.ClassGuid

GUID de la classe d’interface d’appareil pour laquelle recevoir des notifications.

u.DeviceHandle

Handle de l’appareil pour lequel recevoir des notifications.

u.DeviceHandle.hTarget

u.DeviceInstance

L’id de instance de l’appareil pour lequel recevoir des notifications.

u.DeviceInstance.InstanceId[MAX_DEVICE_ID_LEN]

Remarques

Lorsque le pilote appelle la fonction CM_Register_Notification , il fournit un pointeur vers une structure CM_NOTIFY_FILTER dans le paramètre pFilter .

Configuration requise

Condition requise Valeur
En-tête cfgmgr32.h

Voir aussi

CM_NOTIFY_ACTION

CM_Register_Notification