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 |