목적
StoClien 샘플의 주요 초점은 클라이언트가 구조화된 스토리지를 사용하는 방법과 서버 구성 요소에 이 스토리지를 사용하도록 지시하는 방법입니다. StoClien 샘플은 구조적 스토리지 서비스의 프로그래밍 모델을 보여 줍니다.
기능성
StoClien 기능은 일부 버전의 Microsoft Visual C++의 "낙서" 샘플과 유사합니다. StoClien 샘플과 StoServe 샘플의 차이점은 COM 기술을 기반으로 하는 내부 아키텍처입니다. COM 클라이언트와 COM 서버 간에 명확한 아키텍처 구분이 유지됩니다.
StoClien 은 COM 복합 파일의 구조화된 스토리지에 드로잉을 로드하고 저장합니다.
StoClien 샘플은 StoServe 서버에서 CLSID_DllPaper 구성 요소로 제공되는 연결 가능한 COPaper COM 개체를 만들고 사용합니다. StoClien 클라이언트는 COPaper 개체를 만들고 개체가 노출하는 IPaper 인터페이스를 통해 제어합니다. StoClien은 사용자로부터 그리기 데이터를 가져와서 관리하는 창에서 그래픽으로 나타냅니다. StoClien은 COPaper IPaper 인터페이스를 사용하여 그리기 데이터를 COPaper에 저장하고 이 데이터에 대한 파일 스토리지 작업을 지시합니다.
COPaper COM 개체는 그리기 용지 데이터의 서버 기반 스토리지만 캡슐화합니다. 서버 쪽에는 GUI(그래픽 사용자 인터페이스) 동작이 제공되지 않습니다. 모든 GUI 동작은 클라이언트에서 격리됩니다. COPaper 개체의 데이터 관리 및 스토리지 기능은 COM 사용자 지정 인터페이스인 IPaper를 통해서만 사용할 수 있습니다.
StoClien 은 COPaper와 협력하여 COPaper 그리기 데이터를 로드하고 저장합니다. StoClien은 복합 파일의 스토리지 개체에 대한 IStorage 인터페이스를 가져옵니다. 로드 및 저장 작업에서 StoClien은 서버의 COPaper에 IStorage 인터페이스에 대한 포인터를 전달합니다. COPaper는 제공된 IStorage 를 사용하여 스토리지에 스트림을 만듭니다. 그런 다음 COPaper는 표준 IStream 인터페이스를 사용하여 관리하는 그리기 데이터를 읽고 쓸 수 있습니다.
COPaper는 그리기 데이터만 관리합니다. GUI 작업을 수행하지 않습니다. StoClien 은 그리기 애플리케이션에 대한 GUI를 제공합니다. 이를 중앙 CGuiPaper C++ 개체에 캡슐화합니다.
또한 StoClien 은 COPaperSink COM 개체에서 사용자 지정 IPaperSink 인터페이스를 구현하고 이 인터페이스를 서버 COPaper 개체의 적절한 연결점에 연결합니다. COPaper는 연결된 IPaperSink 인터페이스를 사용하여 StoClien에 알림을 다시 보냅니다. COPaper 드로잉 데이터의 일반적인 GUI 다시 그리기는 COPaper 연결 가능한 개체 기술을 사용하여 StoClien에서 수행됩니다.
StoClien 은 일반적인 방식으로 또는 명령 프롬프트 창에서 직접 실행할 수 있는 애플리케이션입니다. StoClien은 명령줄에서 선택적 파일 이름 매개 변수를 허용합니다.
다음 예제에서 Drawing.pap는 그리기 데이터의 DllPaper 호환 구조화된 스토리지를 포함하는 복합 파일입니다. 명령줄 파일 이름 매개 변수가 지정되지 않은 경우 StoClien 은 기본 파일 이름 Stoclien.pap를 사용하고 실행 중인 Stoclien.exe동일한 디렉터리에서 열려고 시도합니다.
StoClien c:\drawings\drawing.pap
지원 정보
StoClien에 대한 자세한 내용, 기능 설명 및 코드 자습서는 Stoclien.htm코드 둘러보기 섹션을 참조하세요. StoClien의 외부 사용자 작업에 대한 자세한 내용은 Stoclien.htm사용 및 작업 섹션을 참조하세요. Stoclient.htm읽으려면 주 자습서 디렉터리에서 Tutorial.exe 실행하고 단원 테이블에서 StoClien 단원을 클릭합니다. 또는 Windows 탐색기에서 기본 자습서 디렉터리를 찾은 후 Stoclien.htm 클릭합니다. StoServe가 작동하고 해당 서비스를 StoClien에 노출하는 방법에 대한 자세한 내용은 주 자습서 디렉터리의 Stoserve.htm 참조하세요. StoClien을 빌드하기 전에 Stoserve.dll 빌드해야 합니다. StoServe의 메이크파일은 시스템 레지스트리에 해당 서버를 등록하므로 StoClien을 실행하기 전에 StoServe를 빌드해야 합니다.
이 COM 자습서 시리즈의 코드 샘플을 빌드하고 테스트하도록 시스템을 설정하는 방법에 대한 자세한 내용은 샘플을 빌드하는 방법을 참조하세요. 제공된 메이크파일(MAKEFILE)은 Microsoft NMAKE와 호환됩니다. 디버그 빌드를 만들려면 명령 프롬프트 창에서 NMAKE 명령을 실행합니다.
편의를 위해 Microsoft Visual Studio에서 사용할 각 샘플에 대해 프로젝트 파일이 제공됩니다. StoClien 샘플에 대한 프로젝트를 로드하려면 다음과 같이 샘플 디렉터리의 명령 프롬프트에서 Visual Studio를 실행합니다.
MSDEV STOCLIEN. DSP
Windows 탐색기에서 Stoclient.dsp 파일을 두 번 클릭하여 샘플 프로젝트를 Visual Studio에 로드할 수도 있습니다. Visual Studio에서 샘플 원본의 C++ 클래스를 찾아보고 일반적으로 다른 편집-컴파일-디버그 작업을 수행할 수 있습니다. 서버 SDK의 일부로 Visual Studio 내에서 이러한 샘플을 컴파일하려면 Visual Studio에서 적절한 디렉터리 경로 설정이 필요합니다. 자세한 내용은 샘플을 빌드하는 방법을 참조하세요.
비고
클라이언트 샘플을 실행하려면 먼저 클라이언트 샘플 및 기타 관련 샘플을 컴파일해야 합니다. 샘플 빌드에 대한 자세한 내용은 샘플을 빌드하는 방법을 참조하세요. 적절한 샘플을 빌드한 경우 Stoclien.exe 이 샘플에 대해 실행할 클라이언트 실행 파일입니다.
Stoclien.exe 애플리케이션은 이 자습서의 사용자 인터페이스를 제공합니다. 관련되지만 독립적인 Stoserve.dll을 사용하여 복합 파일에서 클라이언트와 서버의 COM 구조적 스토리지 사용을 시연합니다.