다음을 통해 공유


event_receiver 특성

이벤트 수신기(싱크)를 만듭니다.

참고 항목

네이티브 C++의 이벤트 특성은 표준 C++와 호환되지 않습니다. /permissive- 규칙 모드를 지정하면 컴파일되지 않습니다.

구문

[ event_receiver(type
   [, layout_dependent=false]) ]

매개 변수

type
다음 값 중 하나의 열거형:

  • native 비관리 C/C++ 코드의 경우(네이티브 클래스의 경우 기본값)

  • com - COM 코드용. 이 값을 사용하려면 다음 헤더 파일을 포함해야 합니다.

    #define _ATL_ATTRIBUTES
    #include <atlbase.h>
    #include <atlcom.h>
    

layout_dependent
com인 경우에만 type=지정 layout_dependent 합니다. layout_dependent 는 부울입니다.

  • true 는 이벤트 수신기에 있는 대리자의 서명이 이벤트 원본에 연결된 대리자의 서명과 정확히 일치해야 했음을 의미합니다. 이벤트 수신기 처리기 이름은 관련 이벤트 원본 인터페이스에 지정된 이름과 일치해야 합니다. 다음과 같은 경우에 truelayout_dependent 사용합니다coclass. 를 지정 true하는 것이 약간 더 효율적입니다.

  • false(기본값)은 호출 규칙 및 스토리지 클래스(virtualstatic및 기타)가 이벤트 메서드 및 처리기와 일치할 필요가 없다는 것을 의미합니다. 처리기 이름도 이벤트 원본 인터페이스 메서드 이름과 일치시킬 필요가 없습니다.

설명

C++ 특성은 event_receiver 적용되는 클래스 또는 구조체가 Microsoft C++ 통합 이벤트 모델을 사용하여 이벤트 수신기가 되도록 지정합니다.

event_receiver는 특성 및 __hook 키워드와 __unhook 함께 event_source 사용됩니다. 이벤트 원본을 만드는 데 사용합니다 event_source . __hook 이벤트 수신기의 메서드 내에서 이벤트 원본의 이벤트에 ("후크") 이벤트 수신기 메서드를 연결합니다. 연결을 해제하는 데 사용합니다 __unhook .

layout_dependent 는 COM 이벤트 수신기(type=com)에 대해서만 지정됩니다. layout_dependent에 대한 기본값은 false입니다.

참고 항목

템플릿 기반 클래스 또는 구조체에 event를 포함시킬 수 없습니다.

요구 사항

특성 컨텍스트
적용 대상: class, struct
반복 가능 아니요
필수 특성 layout_dependent=true이면 coclass입니다.
잘못된 특성 None

자세한 내용은 특성 컨텍스트를 참조 하세요.

참고 항목

컴파일러 특성
event_source
__event
__hook
__unhook
클래스 특성