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

Confira também

CM_NOTIFY_ACTION

CM_Register_Notification