структура CM_NOTIFY_FILTER (cfgmgr32.h)
Структура фильтра уведомлений устройства
Синтаксис
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;
Члены
cbSize
Размер структуры.
Flags
Сочетание 0 или более следующих флагов:
CM_NOTIFY_FILTER_FLAG_ALL_INTERFACE_CLASSES
Зарегистрируйтесь для получения уведомлений о событиях PnP для всех классов интерфейса устройства. Память в pFilter-u.DeviceInterface.ClassGuid> должна быть нулевой. Не используйте этот флаг с CM_NOTIFY_FILTER_FLAG_ALL_DEVICE_INSTANCES. Этот флаг действителен, только если параметр pFilter-FilterType> CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE.
CM_NOTIFY_FILTER_FLAG_ALL_DEVICE_INSTANCES
Зарегистрируйтесь для получения уведомлений о событиях PnP для всех устройств. pFilter-u.DeviceInstance.InstanceId> должен быть пустой строкой. Не используйте этот флаг с CM_NOTIFY_FILTER_FLAG_ALL_INTERFACE_CLASSES. Этот флаг действителен, только если параметр pFilter-FilterType> CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE.
FilterType
Необходимо установить одно из следующих значений.
CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE
Зарегистрируйтесь для получения уведомлений о событиях интерфейса устройства. pFilter-u.DeviceInterface.ClassGuid> должен быть заполнен GUID класса интерфейса устройства для получения уведомлений.
CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE
Зарегистрируйтесь для получения уведомлений о событиях обработки устройств. pFilter-u.DeviceHandle.hTarget> должен быть заполнен дескриптором для устройства для получения уведомлений. Этот дескриптор должен оставаться действительным дескриптором для устройства в течение CM_Register_Notification вызова. Однако после возврата CM_Register_Notification дескриптор можно закрыть, не влияя на возможность регистрации получать уведомления.
CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE
Зарегистрируйтесь для получения уведомлений о событиях экземпляра устройства. pFilter-u.DeviceInstance.InstanceId> должен быть заполнен идентификатором экземпляра устройства для получения уведомлений.
Reserved
Задайте значение 0.
u
Объединение, содержащее сведения об устройстве для получения уведомлений.
u.DeviceInterface
u.DeviceInterface.ClassGuid
Guid класса интерфейса устройства, для которого будут получаться уведомления.
u.DeviceHandle
Дескриптор устройства, для которого будут получаться уведомления.
u.DeviceHandle.hTarget
u.DeviceInstance
Идентификатор экземпляра устройства для устройства, для которого будут получаться уведомления.
u.DeviceInstance.InstanceId[MAX_DEVICE_ID_LEN]
Комментарии
Когда драйвер вызывает функцию CM_Register_Notification , он предоставляет указатель на структуру CM_NOTIFY_FILTER в параметре pFilter .
Требования
Требование | Значение |
---|---|
Заголовок | cfgmgr32.h |