LABRADOR 특성 샘플: 사용자 인터페이스가 없는 서버 구현

업데이트: 2007년 11월

LABRADOR 특성 샘플에서는 ATL을 사용하여 사용자 인터페이스가 없는 EXE 서버를 구현하는 방법을 보여 줍니다. 이 서버에서는 Labrador.idl에 정의된 두 개의 사용자 지정 인터페이스를 지원하는 개체를 만들 수 있습니다.

보안 정보:

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

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

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

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

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

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

샘플 빌드 및 실행

이 샘플에서는 서버, 마샬링 DLL 및 드라이버라는 세 가지 구성 요소를 사용합니다.

서버를 빌드하고 등록하려면

  1. 솔루션 파일인 Labrador.sln을 엽니다.

  2. 빌드 메뉴에서 솔루션 빌드를 클릭합니다.

    서버, 마샬링 DLL 및 드라이버가 빌드되고 등록됩니다.

드라이버를 실행하려면

  1. 솔루션 탐색기에서 labdriv 프로젝트를 마우스 오른쪽 단추로 클릭하고 시작 프로젝트로 설정을 선택합니다.

  2. 디버그 메뉴에서 디버깅하지 않고 시작을 클릭합니다.

    드라이버에서 개체를 만들고 해당 개체를 몇 번 호출한 다음 해제합니다.

특성

이 샘플에서는 다음의 특성을 사용합니다.

aggregatable, coclass, default, emitidl, helpstring, in, module, object, out, progid, string, threading, uuid, version, vi_progid

키워드

이 샘플에서는 다음의 키워드를 사용합니다.

_CrtDumpMemoryLeaks; _tcsicmp; _tcstok; _tprintf; _vstprintf; ATLASSERT; BEGIN_COM_MAP; BEGIN_OBJECT_MAP; CComModule::Init; CComModule::RegisterClassObjects; CComModule::RevokeClassObjects; CComModule::Unlock; CComModule::UnregisterServer; CComObjectRoot; CoCreateInstance; COM_INTERFACE_ENTRY; CoUninitialize; DECLARE_NOT_AGGREGATABLE; DECLARE_REGISTRY; DispatchMessage; END_OBJECT_MAP; GetCurrentThreadId; GetMessage; OBJECT_ENTRY; OutputDebugString; PostThreadMessage; Trace; va_end; va_list; va_start; wcscpy_s

참고:

이 샘플을 비롯한 일부 샘플은 Visual C++ 마법사, 라이브러리 및 컴파일러의 변경 내용을 반영하도록 수정되지 않았지만 해당 작업의 수행 방법을 보여 줍니다.

참고 항목

기타 리소스

ATL 특성 샘플