struttura CM_NOTIFY_FILTER (cfgmgr32.h)

Struttura del filtro delle notifiche del dispositivo

Sintassi

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;

Members

cbSize

Dimensioni della struttura.

Flags

Combinazione di zero o più flag seguenti:

CM_NOTIFY_FILTER_FLAG_ALL_INTERFACE_CLASSES

Registrarsi per ricevere notifiche per gli eventi PnP per tutte le classi di interfaccia del dispositivo. La memoria in pFilter-u.DeviceInterface.ClassGuid> deve essere zero. Non usare questo flag con CM_NOTIFY_FILTER_FLAG_ALL_DEVICE_INSTANCES. Questo flag è valido solo se pFilter-FilterType> è CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE.

CM_NOTIFY_FILTER_FLAG_ALL_DEVICE_INSTANCES

Registrarsi per ricevere notifiche per gli eventi PnP per tutti i dispositivi. pFilter-u.DeviceInstance.InstanceId> deve essere una stringa vuota. Non usare questo flag con CM_NOTIFY_FILTER_FLAG_ALL_INTERFACE_CLASSES. Questo flag è valido solo se pFilter-FilterType> è CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE.

FilterType

Deve essere uno dei valori seguenti:

CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE

Registrarsi per le notifiche per gli eventi dell'interfaccia del dispositivo. pFilter-u.DeviceInterface.ClassGuid> deve essere compilato con il GUID della classe dell'interfaccia del dispositivo per ricevere le notifiche.

CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE

Registrarsi per le notifiche per gli eventi di gestione dei dispositivi. pFilter-u.DeviceHandle.hTarget> deve essere compilato con un handle per il dispositivo per ricevere notifiche. Questo handle deve rimanere un handle valido per il dispositivo per la durata della chiamata CM_Register_Notification . Tuttavia, dopo che CM_Register_Notification viene restituito, l'handle può essere chiuso senza influire sulla possibilità per la registrazione di ricevere notifiche.

CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE

Registrarsi per le notifiche per gli eventi dell'istanza del dispositivo. pFilter-u.DeviceInstance.InstanceId> deve essere compilato con l'ID istanza del dispositivo per cui ricevere le notifiche.

Reserved

Impostare su 0.

u

Unione che contiene informazioni sul dispositivo per cui ricevere le notifiche.

u.DeviceInterface

u.DeviceInterface.ClassGuid

GUID della classe dell'interfaccia del dispositivo per cui ricevere le notifiche.

u.DeviceHandle

Handle per il dispositivo per cui ricevere notifiche.

u.DeviceHandle.hTarget

u.DeviceInstance

ID istanza del dispositivo per il quale ricevere notifiche.

u.DeviceInstance.InstanceId[MAX_DEVICE_ID_LEN]

Commenti

Quando il driver chiama la funzione CM_Register_Notification , fornisce un puntatore a una struttura CM_NOTIFY_FILTER nel parametro pFilter .

Requisiti

Requisito Valore
Intestazione cfgmgr32.h

Vedi anche

CM_NOTIFY_ACTION

CM_Register_Notification