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 |