다음을 통해 공유


DCOM 샘플: 여러 클라이언트에서 Windows 서비스의 COM 개체 호출

업데이트: 2007년 11월

DCOM 샘플은 다른 컴퓨터에서 실행 중인 여러 클라이언트의 Windows 서비스에서 구현된 COM 개체를 호출하는 방법을 보여 줍니다. 이 샘플은 다음의 몇 가지 요소로 구성되어 있습니다.

  • DrawServ   COM 개체를 구현하는 Windows 서비스입니다.

  • ATLDraw   DrawServ COM 개체에 연결하는 클라이언트입니다.

  • DrawCtl   ATLDraw의 컨트롤 버전입니다. 여기에는 컴퓨터 이름 문자열 매개 변수를 사용하는 Connect 메서드와, Disconnect 메서드 및 Clear 메서드가 있습니다.

  • MFCCont   DrawCtl의 MFC 컨테이너입니다. 서버(가능하면 원격 서버)의 이름을 따옴표나 슬래시 없이 입력합니다.

  • ATLCont   DrawCtl의 ATL 컨테이너입니다. 서버(가능하면 원격 서버)의 이름을 따옴표나 슬래시 없이 입력합니다.

이 샘플이 작동되려면 모든 컴퓨터에서 Windows 2000 이상을 실행해야 합니다.

이 샘플을 ATL DCOM 샘플과 비교하십시오.

보안 정보:

이 샘플 코드는 개념을 보여 주기 위해 제공되며 가장 안전한 코드 작성 방법을 제시하지 않을 수 있으므로 응용 프로그램이나 웹 사이트에서 사용할 수 없습니다. Microsoft는 샘플 코드를 원래 용도 이외의 다른 용도로 사용하는 경우 발생하는 부수적이나 파생적인 손해에 대해 책임을 지지 않습니다.

샘플 및 이를 설치하기 위한 지침을 가져오려면

  • Visual Studio의 도움말 메뉴에서 샘플을 클릭합니다.

    자세한 내용은 샘플 파일 찾기를 참조하십시오.

  • 최신 버전 및 전체 샘플 목록은 Visual Studio 2008 Samples 페이지에서 온라인으로 사용할 수 있습니다.

  • 컴퓨터의 하드 디스크에서도 샘플을 찾을 수 있습니다. 기본적으로 샘플과 추가 정보 파일은 \Program Files\Visual Studio 9.0\Samples\ 아래의 폴더에 복사됩니다. Visual Studio Express Edition의 경우에는 모든 샘플이 온라인에 있습니다.

샘플 빌드 및 실행

이 샘플을 빌드하고 실행하려면

  1. dcom.sln 솔루션을 엽니다.

  2. DrawServ 및 ATLDraw 샘플을 빌드합니다.

  3. 샘플을 실행할 모든 컴퓨터에 Drawserv.exe와 Atldraw.exe를 복사합니다. 각 컴퓨터에서 대/소문자를 구분하지 않는 명령줄 인수 /RegServer나 -RegServer로 DrawServ를 실행하여 서버를 등록합니다. 예를 들면 다음과 같습니다.

    DrawServ /RegServer
    

    이 명령이 작동하려면 Register.dll이 등록되어 있어야 합니다. 서버를 각 컴퓨터에 복사해야 하는 이유는 서버의 CLSID와 서버 형식 라이브러리가 클라이언트에 등록되어야 하기 때문입니다.

  4. 제어판의 서비스 아이콘을 사용하여 서버에서 서비스를 시작합니다.

  5. 각 클라이언트에 대해 DCOMCNFG를 사용하여 DrawServ 클래스의 속성을 선택합니다. 위치 탭에서 다음 컴퓨터에서 응용 프로그램 실행을 선택한 다음 서버 개체를 실행할 컴퓨터의 이름을 입력합니다. 현재 컴퓨터에서 응용 프로그램 실행 확인란의 선택을 취소합니다.

  6. ATLDraw를 실행하고 Server를 선택합니다. 각 클라이언트의 메뉴에서 연결합니다. 클라이언트 창에서 마우스 왼쪽 단추를 누른 채 끌어 선을 그립니다. 그려진 선은 동일한 서버에 연결된 각 클라이언트에도 나타나야 합니다. View 메뉴의 Color 명령을 사용하여 각 클라이언트의 색을 변경할 수도 있습니다.

  7. 원격 서버에 연결할 때 Tstcon32.exe가 CoInitializeSecurity를 호출하지 않는 등의 문제가 있으면 클라이언트에서 DCOMCNFG를 실행하고 기본 속성 탭을 엽니다. 기본 인증 수준을 None으로 설정하고 기본 가장 수준은 익명으로 설정합니다.

참고 항목

작업

DCOM 샘플: COM 개체 원격 호출 설명

참조

Compiler COM Support

기타 리소스

컴파일러 COM 지원 샘플