다음을 통해 공유


COleTemplateServer 클래스

OLE 비주얼 편집 서버, 자동화 서버 및 링크 컨테이너(포함에 대한 링크를 지원하는 애플리케이션)에 사용합니다.

구문

class COleTemplateServer : public COleObjectFactory

멤버

공용 생성자

속성 설명
COleTemplateServer::COleTemplateServer COleTemplateServer 개체를 생성합니다.

공용 메서드

이름 설명
COleTemplateServer::ConnectTemplate 문서 서식 파일을 기본 개체에 연결합니다 COleObjectFactory .
COleTemplateServer::Unregister 연결된 문서 서식 파일의 등록을 취소합니다.
COleTemplateServer::UpdateRegistry 문서 형식을 OLE 시스템 레지스트리에 등록합니다.

설명

이 클래스는 COleObjectFactory 클래스에서 파생됩니다. 일반적으로 고유한 클래스를 파생시키는 대신 직접 사용할 COleTemplateServer 수 있습니다. COleTemplateServerCDocTemplate 개체를 사용하여 서버 문서를 관리합니다. 전체 서버, 즉 독립 실행형 애플리케이션으로 실행할 수 있는 서버를 구현할 때 사용합니다 COleTemplateServer . 전체 서버는 일반적으로 여러 MDI(문서 인터페이스) 애플리케이션이지만 SDI(단일 문서 인터페이스) 애플리케이션은 지원됩니다. 애플리케이션에서 지원하는 각 유형의 서버 문서에는 하나의 COleTemplateServer 개체가 필요합니다. 즉, 서버 애플리케이션이 워크시트와 차트를 모두 지원하는 경우 두 개의 COleTemplateServer 개체가 있어야 합니다.

COleTemplateServer에서 정의COleObjectFactory한 멤버 함수를 재정의 OnCreateInstance 합니다. 이 멤버 함수는 프레임워크에서 적절한 형식의 C++ 개체를 만들기 위해 호출됩니다.

서버에 대한 자세한 내용은 서버: 서버 구현 문서를 참조하세요.

상속 계층 구조

CObject

CCmdTarget

COleObjectFactory

COleTemplateServer

요구 사항

헤더: afxdisp.h

COleTemplateServer::COleTemplateServer

COleTemplateServer 개체를 생성합니다.

COleTemplateServer();

설명

클래스 사용에 COleTemplateServer 대한 간략한 설명은 COleLinkingDoc 클래스 개요를 참조하세요.

COleTemplateServer::ConnectTemplate

pDocTemplate에서 가리키는 문서 템플릿을 기본 COleObjectFactory 개체에 연결합니다.

void ConnectTemplate(
    REFCLSID clsid,
    CDocTemplate* pDocTemplate,
    BOOL bMultiInstance);

매개 변수

clsid
템플릿이 요청하는 OLE 클래스 ID에 대한 참조입니다.

pDocTemplate
문서 서식 파일에 대한 포인터입니다.

bMultiInstance
애플리케이션의 단일 인스턴스가 여러 인스턴스를 지원할 수 있는지 여부를 나타냅니다. TRUE이면 개체를 만들기 위한 각 요청에 대해 애플리케이션의 여러 인스턴스가 시작됩니다.

설명

자세한 내용은 Windows SDK의 CLSID 키를 참조하세요.

COleTemplateServer::Unregister

연결된 문서 서식 파일의 등록을 취소합니다.

BOOL Unregister();

Return Value

성공하면 TRUE이고, 실패하면 FALSE입니다.

설명

EnterRemarks

COleTemplateServer::UpdateRegistry

문서 템플릿 문자열에서 파일 형식 정보를 로드하고 해당 정보를 OLE 시스템 레지스트리에 배치합니다.

void UpdateRegistry(
    OLE_APPTYPE nAppType = OAT_INPLACE_SERVER,
    LPCTSTR* rglpszRegister = NULL,
    LPCTSTR* rglpszOverwrite = NULL,
    BOOL bRegister = TRUE);

매개 변수

nAppType
AFXDISP.H에 정의된 OLE_APPTYPE 열거형의 값입니다. 다음 값 중 하나를 가질 수 있습니다.

  • OAT_INPLACE_SERVER Server에는 전체 서버 사용자 인터페이스가 있습니다.

  • OAT_SERVER Server는 포함만 지원합니다.

  • OAT_CONTAINER 컨테이너는 포함된 개체에 대한 링크를 지원합니다.

  • OAT_DISPATCH_OBJECT 개체는 IDispatch사용할 수 있습니다.

  • OAT_DOC_OBJECT_SERVER Server는 포함 및 문서 개체 구성 요소 모델을 모두 지원합니다.

rglpszRegister
항목이 없는 경우에만 레지스트리에 기록되는 항목 목록입니다.

rglpszOverwrite
이전 항목이 있는지 여부에 관계없이 레지스트리에 기록되는 항목 목록입니다.

bRegister
클래스를 등록할지 여부를 결정합니다. bRegister가 TRUE이면 클래스가 시스템 레지스트리에 등록됩니다. 그렇지 않으면 클래스의 등록을 취소합니다.

설명

등록 정보는 CDocTemplate::GetDocString에 대한 호출을 통해 로드됩니다. 검색된 부분 문자열은 참조 페이지에 설명 GetDocString 된 대로 인덱스 및 fileNewName인덱스regFileTypeIdregFileTypeName로 식별되는 부분 문자열입니다.

부분 문자열이 regFileTypeId 비어 있거나 다른 이유로 인해 호출 GetDocString 이 실패하면 이 함수가 실패하고 레지스트리에 파일 정보가 입력되지 않습니다.

rglpszRegisterrglpszOverwrite 인수의 정보는 AfxOleRegisterServerClass 호출을 통해 레지스트리에 기록됩니다. 두 인수가 NULL일 때 등록되는 기본 정보는 대부분의 애플리케이션에 적합합니다. 이러한 인수의 정보 구조에 대한 자세한 내용은 다음을 참조하세요 AfxOleRegisterServerClass.

자세한 내용은 Implementing the IDispatch Interface을 참조하세요.

참고 항목

MFC 샘플 HIERSVR
COleObjectFactory 클래스
계층 구조 차트
COleServerDoc 클래스
COleServerItem 클래스