다음을 통해 공유


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

FilterTypeCM_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

FilterTypeCM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE 때 공용 구조체의 이 부분을 검사합니다.

u.DeviceInstance.InstanceId[ANYSIZE_ARRAY]

디바이스는 알림 이벤트 데이터와 관련된 디바이스의 ID를 instance.

설명

CM_Register_Notification 제공된 알림 콜백은 콜백의 EventData 매개 변수에 CM_NOTIFY_EVENT_DATA 형식의 구조에 대한 포인터를 받습니다.

요구 사항

   
머리글 cfgmgr32.h

추가 정보

CM_Register_Notification