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
는 이벤트 수신기에 있는 대리자의 서명이 이벤트 원본에 연결된 대리자의 서명과 정확히 일치해야 했음을 의미합니다. 이벤트 수신기 처리기 이름은 관련 이벤트 원본 인터페이스에 지정된 이름과 일치해야 합니다. 다음과 같은 경우에true
layout_dependent
사용합니다coclass
. 를 지정true
하는 것이 약간 더 효율적입니다.false
(기본값)은 호출 규칙 및 스토리지 클래스(virtual
static
및 기타)가 이벤트 메서드 및 처리기와 일치할 필요가 없다는 것을 의미합니다. 처리기 이름도 이벤트 원본 인터페이스 메서드 이름과 일치시킬 필요가 없습니다.
설명
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 |
자세한 내용은 특성 컨텍스트를 참조 하세요.