COMEvents 샘플: COM 이벤트 만들기 및 사용
업데이트: 2007년 11월
COMEvents 샘플에서는 COM을 사용한 이벤트 처리 방법을 보여 줍니다.
보안 정보: |
---|
이 샘플 코드는 개념을 보여 주기 위해 제공되며 가장 안전한 코드 작성 방법을 제시하지 않을 수 있으므로 응용 프로그램이나 웹 사이트에서 사용할 수 없습니다. Microsoft는 샘플 코드를 원래 용도 이외의 다른 용도로 사용하는 경우 발생하는 부수적이나 파생적인 손해에 대해 책임을 지지 않습니다. |
샘플 및 이를 설치하기 위한 지침을 가져오려면
Visual Studio의 도움말 메뉴에서 샘플을 클릭합니다.
자세한 내용은 샘플 파일 찾기를 참조하십시오.
최신 버전 및 전체 샘플 목록은 Visual Studio 2008 Samples 페이지에서 온라인으로 사용할 수 있습니다.
컴퓨터의 하드 디스크에서도 샘플을 찾을 수 있습니다. 기본적으로 샘플과 추가 정보 파일은 \Program Files\Visual Studio 9.0\Samples\ 아래의 폴더에 복사됩니다. Visual Studio Express Edition의 경우에는 모든 샘플이 온라인에 있습니다.
샘플 빌드 및 실행
COMEvents를 빌드하고 실행하려면
솔루션 파일인 COMEvents.sln을 엽니다.
빌드 메뉴에서 솔루션 빌드를 클릭합니다.
솔루션 탐색기에서 EventReceiver 노드를 마우스 오른쪽 단추로 클릭한 다음 시작 프로젝트로 설정을 선택합니다.
디버그 메뉴에서 디버깅하지 않고 시작을 클릭합니다.
샘플 작동 방식
COMEvents 샘플에서는 event_source 및 event_receiver 특성을 사용하여 이벤트 소스 CSource와 이벤트 수신기 CSink를 만듭니다.
이벤트 소스는 IEvent, IEvent2 및 IJW 인터페이스의 메서드를 이벤트로 선언합니다(인터페이스 정의는 Ifaces.h 참조).
이벤트 수신기는 처리기 메서드 f1부터 f6까지를 선언하고 각 처리기를 이벤트에 후크합니다.
주 코드에서는 CSource와 CSink를 인스턴스화합니다. CSink 생성자는 후크를 수행합니다. 그런 다음에는 주 코드에서 이벤트를 발생시키고, 이벤트를 언후크한 다음 이벤트를 다시 발생시킵니다.