estrutura CM_NOTIFY_FILTER (cfgmgr32.h)
Estrutura de filtro de notificação do dispositivo
Sintaxe
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;
Membros
cbSize
O tamanho da estrutura.
Flags
Uma combinação de zero ou mais dos seguintes sinalizadores:
CM_NOTIFY_FILTER_FLAG_ALL_INTERFACE_CLASSES
Registre-se para receber notificações de eventos PnP para todas as classes de interface do dispositivo. A memória em pFilter-u.DeviceInterface.ClassGuid> deve ser zeros. Não use esse sinalizador com CM_NOTIFY_FILTER_FLAG_ALL_DEVICE_INSTANCES. Esse sinalizador só será válido se pFilter-FilterType> for CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE.
CM_NOTIFY_FILTER_FLAG_ALL_DEVICE_INSTANCES
Registre-se para receber notificações de eventos PnP para todos os dispositivos. pFilter-u.DeviceInstance.InstanceId> deve ser uma cadeia de caracteres vazia. Não use esse sinalizador com CM_NOTIFY_FILTER_FLAG_ALL_INTERFACE_CLASSES. Esse sinalizador só será válido se pFilter-FilterType> for CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE.
FilterType
Deve ser um dos seguintes valores:
CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE
Registre-se para notificações de eventos de interface do dispositivo. pFilter-u.DeviceInterface.ClassGuid> deve ser preenchido com o GUID da classe de interface do dispositivo para o qual receber notificações.
CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE
Registre-se para notificações para eventos de identificador de dispositivo. pFilter-u.DeviceHandle.hTarget> deve ser preenchido com um identificador para o dispositivo para o qual receber notificações. Esse identificador deve permanecer um identificador válido para o dispositivo durante a chamada CM_Register_Notification . No entanto, depois que CM_Register_Notification retorna, o identificador pode ser fechado sem afetar a capacidade de o registro receber notificações.
CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE
Registre-se para notificações para eventos de instância do dispositivo. pFilter-u.DeviceInstance.InstanceId> deve ser preenchido com a ID da instância do dispositivo para o qual receber notificações.
Reserved
Defina como 0.
u
Uma união que contém informações sobre o dispositivo para o qual receber notificações.
u.DeviceInterface
u.DeviceInterface.ClassGuid
O GUID da classe de interface do dispositivo para a qual receber notificações.
u.DeviceHandle
Um identificador para o dispositivo para o qual receber notificações.
u.DeviceHandle.hTarget
u.DeviceInstance
A ID da instância do dispositivo para o qual receber notificações.
u.DeviceInstance.InstanceId[MAX_DEVICE_ID_LEN]
Comentários
Quando o driver chama a função CM_Register_Notification , ele fornece um ponteiro para uma estrutura CM_NOTIFY_FILTER no parâmetro pFilter .
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | cfgmgr32.h |