__unhook
이벤트 처리기 메서드에서 dissociates.
long __unhook(
&SourceClass::EventMethod,
source,
&ReceiverClass::HandlerMethod
[, receiver = this]
);
long __unhook(
interface,
source
);
long __unhook(
source
);
매개 변수
**&**SourceClass::EventMethod
이벤트 처리기를 언 후크 이벤트 메서드에 대 한 포인터.네이티브 C++ 이벤트: SourceClass 이벤트 원본 클래스 및 EventMethod 이벤트입니다.
COM 이벤트: SourceClass 의 이벤트 소스 인터페이스와 EventMethod 메서드 중 하나입니다.
관리 되는 이벤트: SourceClass 이벤트 원본 클래스 및 EventMethod 이벤트입니다.
interface
Unhooked 되 고 인터페이스 이름 receiver는 COM 이벤트 수신기에 대 한의 layout_dependent 의 매개 변수는 event_receiver 특성입니다 true.source
인스턴스를 이벤트 소스에 대 한 포인터입니다.코드에 따라 type 에 지정 된 event_receiver, 원본 다음 중 하나가 될 수 있습니다.원시 이벤트 소스 개체 포인터입니다.
IUnknown-포인터 (COM 소스)를 기반으로 합니다.
관리 되는 개체 포인터 (관리 되는 이벤트에 대 한)입니다.
**&**ReceiverClass::HandlerMethod
이벤트를 후크 할 이벤트 처리기 메서드에 대 한 포인터입니다.처리기 클래스 또는 동일 하 게 참조 하는 방법으로 지정 됩니다. 클래스 이름을 지정 하지 않으면 __unhook 클래스에 메서드가 실제로 호출 되는 것으로 가정 합니다.네이티브 C++ 이벤트: ReceiverClass 는 이벤트 수신기 클래스 및 HandlerMethod 처리기입니다.
COM 이벤트: ReceiverClass 이벤트 수신기 인터페이스입니다 및 HandlerMethod 의 처리기 중 하나입니다.
관리 되는 이벤트: ReceiverClass 는 이벤트 수신기 클래스 및 HandlerMethod 처리기입니다.
receiver(선택 사항)
이벤트 수신기 클래스의 인스턴스에 대 한 포인터입니다.하는 수신기를 지정 하지 않으면 기본 수신기 클래스 또는 구조체는입니다 __unhook 라고 합니다.
용도
이벤트 수신기 클래스 외부 주를 포함 하 여 모든 함수 범위에서 사용할 수 있습니다.
설명
내장 함수 사용 __unhook 에 연결 하거나 "처리기 메서드 이벤트 메서드를 밀면서" 이벤트 수신기.
세 가지 형태가 __unhook.대부분의 경우 첫 번째 (4 인수) 폼을 사용할 수 있습니다.두 번째 (두 인수) 형식으로 사용할 수 있습니다 __unhook 에 대 한 COM 이벤트 수신기입니다. 이 전체 이벤트 인터페이스를 언 후크합니다.모든 대리자 지정 된 소스에서 언 후크 하도록 (단일 인수) 세 번째 폼을 사용할 수 있습니다.
0이 아닌 반환 값 오류가 발생 했음을 나타냅니다 (관리 되는 이벤트를 예외를 발생).
사용자가 호출 하는 경우 __unhook 이벤트와 이미 연결 된 이벤트 처리기에 적용 되지 것입니다.
컴파일 타임에 컴파일러 이벤트가 존재 하 고 매개 변수 형식이 지정 된 처리기를 확인 하는지 확인 합니다.
COM 이벤트는 __hook 및 __unhook 외부 이벤트 수신기가 호출 될 수 있습니다.
사용 하는 대신 __unhook -= 연산자를 사용 하는 것입니다.
새 구문에서는 관리 되는 이벤트 코드 작성에 대 한 내용은 이벤트 (Visual C++).
[!참고]
템플릿 기반 클래스 또는 구조체에 event를 포함시킬 수 없습니다.
예제
참조 하십시오 네이티브 C++에서 처리 하는 이벤트 및 이벤트 처리에 대 한 COM 샘플에 대 한.