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
FilterType이 CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE 때 공용 구조체의 이 부분을 검사합니다.
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
데이터 멤버에서 읽을 수 있는 바이트 수입니다.
u.DeviceHandle.Data[ANYSIZE_ARRAY]
선택적 이진 데이터입니다. 사용량은 EventGuid의 계약에 따라 달라집니다.
u.DeviceInstance
FilterType이 CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE 때 공용 구조체의 이 부분을 검사합니다.
u.DeviceInstance.InstanceId[ANYSIZE_ARRAY]
디바이스는 알림 이벤트 데이터와 관련된 디바이스의 ID를 instance.
설명
CM_Register_Notification 제공된 알림 콜백은 콜백의 EventData 매개 변수에 CM_NOTIFY_EVENT_DATA 형식의 구조에 대한 포인터를 받습니다.
요구 사항
머리글 | cfgmgr32.h |