CM_NOTIFY_EVENT_DATA 结构 (cfgmgr32.h)

这是设备通知事件数据结构。

语法

typedef struct _CM_NOTIFY_EVENT_DATA {
  CM_NOTIFY_FILTER_TYPE FilterType;
  DWORD                 Reserved;
  union {
    struct {
      GUID  ClassGuid;
      WCHAR SymbolicLink[ANYSIZE_ARRAY];
    } DeviceInterface;
    struct {
      GUID  EventGuid;
      LONG  NameOffset;
      DWORD DataSize;
      BYTE  Data[ANYSIZE_ARRAY];
    } DeviceHandle;
    struct {
      WCHAR InstanceId[ANYSIZE_ARRAY];
    } DeviceInstance;
  } u;
} CM_NOTIFY_EVENT_DATA, *PCM_NOTIFY_EVENT_DATA;

成员

FilterType

生成此通知事件数据的注册中使用的CM_NOTIFY_FILTER结构中的CM_NOTIFY_FILTER_TYPE

Reserved

保留。 必须为 0。

u

包含通知事件数据相关信息的联合。 若要确定要检查的联合成员,检查事件数据的 FilterType

u.DeviceInterface

CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACEFilterType 时,检查联合的这一部分。

u.DeviceInterface.ClassGuid

通知事件数据所涉及的设备接口的设备接口类的 GUID。

u.DeviceInterface.SymbolicLink[ANYSIZE_ARRAY]

通知事件数据所属的设备接口的符号链接路径。

u.DeviceHandle

filterType CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE并且通知操作CM_NOTIFY_ACTION_DEVICECUSTOMEVENT时,检查联合的这一部分。

u.DeviceHandle.EventGuid

自定义事件的 GUID。

u.DeviceHandle.NameOffset

可选字符串缓冲区的偏移量。 使用情况取决于 EventGuid 的协定。

u.DeviceHandle.DataSize

可从 Data 成员读取的字节数。

u.DeviceHandle.Data[ANYSIZE_ARRAY]

可选的二进制数据。 使用情况取决于 EventGuid 的协定。

u.DeviceInstance

CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCEFilterType 时检查联合的这一部分。

u.DeviceInstance.InstanceId[ANYSIZE_ARRAY]

通知事件数据所属设备的设备实例 ID。

备注

提供给CM_Register_Notification的通知回调接收指向回调的 EventData 参数中CM_NOTIFY_EVENT_DATA类型的结构的指针。

要求

   
标头 cfgmgr32.h

另请参阅

CM_Register_Notification