Поделиться через


COleTemplateServer Class

Используется для OLE-серверов визуального редактирования, серверов автоматизации и контейнеров связей (приложений, поддерживающих ссылки на внедряемые объекты).

Syntax

class COleTemplateServer : public COleObjectFactory

Members

Public Constructors

Name Description
COleTemplateServer::COleTemplateServer Формирует объект COleTemplateServer.

Public Methods

Name Description
COleTemplateServer::ConnectTemplate Подключает шаблон документа к базовому COleObjectFactory объекту.
COleTemplateServer::Unregister Отменяет регистрацию связанного шаблона документа.
COleTemplateServer::UpdateRegistry Регистрирует тип документа в системный реестр OLE.

Remarks

This class is derived from the class COleObjectFactory; usually, you can use COleTemplateServer directly rather than deriving your own class. COleTemplateServer uses a CDocTemplate object to manage the server documents. Используйте COleTemplateServer при реализации полного сервера, то есть сервера, который можно запустить как автономное приложение. Полные серверы обычно являются несколькими приложениями интерфейса документов (MDI), хотя поддерживаются приложения с одним интерфейсом документов (SDI). Для каждого типа документа сервера требуется один COleTemplateServer объект, поддерживаемый приложением. То есть, если серверное приложение поддерживает как листы, так и диаграммы, необходимо иметь два COleTemplateServer объекта.

COleTemplateServer переопределяет функцию-член, определяемую OnCreateInstanceCOleObjectFactory. Эта функция-член вызывается платформой для создания объекта C++ соответствующего типа.

Дополнительные сведения о серверах см. в статье "Серверы: реализация сервера".

Inheritance Hierarchy

CObject

CCmdTarget

COleObjectFactory

COleTemplateServer

Requirements

Header: afxdisp.h

COleTemplateServer::COleTemplateServer

Формирует объект COleTemplateServer.

COleTemplateServer();

Remarks

For a brief description of the use of the COleTemplateServer class, see the COleLinkingDoc class overview.

COleTemplateServer::ConnectTemplate

Connects the document template pointed to by pDocTemplate to the underlying COleObjectFactory object.

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

Parameters

clsid
Ссылка на идентификатор класса OLE, запрашиваемого шаблоном.

pDocTemplate
Указатель на шаблон документа.

bMultiInstance
Указывает, может ли один экземпляр приложения поддерживать несколько экземпляров. Если значение TRUE, для каждого запроса для создания объекта запускается несколько экземпляров приложения.

Remarks

For more information, see CLSID Key in the Windows SDK.

COleTemplateServer::Unregister

Отменяет регистрацию связанного шаблона документа.

BOOL Unregister();

Return Value

Значение TRUE, если успешно; в противном случае — FALSE.

COleTemplateServer::UpdateRegistry

Загружает сведения о типе файла из строки шаблона документа и помещает эти сведения в системный реестр OLE.

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

Parameters

nAppType
Значение из перечисления OLE_APPTYPE, определенного в AFXDISP.H. Он может иметь одно из следующих значений:

  • OAT_INPLACE_SERVER Server имеет полный пользовательский интерфейс сервера.

  • OAT_SERVER Server поддерживает только внедрение.

  • контейнер OAT_CONTAINER поддерживает ссылки на внедренные объекты.

  • объект OAT_DISPATCH_OBJECT поддерживается IDispatch.

  • OAT_DOC_OBJECT_SERVER Server поддерживает внедрение и модель компонента объекта документа.

rglpszRegister
Список записей, записанных в реестр, только если записи отсутствуют.

rglpszOverwrite
Список записей, записанных в реестр, независимо от того, существуют ли предыдущие записи.

bRegister
Определяет, должен ли класс быть зарегистрирован. If bRegister is TRUE, the class is registered with the system registry. В противном случае он отменяет регистрацию класса.

Remarks

The registration information is loaded by means of a call to CDocTemplate::GetDocString. Извлекаемые подстроки — это те, которые определяются индексами regFileTypeIdиregFileTypeNamefileNewName, как описано на GetDocString справочных страницах.

regFileTypeId Если подстрока пуста или если вызов завершается GetDocString ошибкой по какой-либо другой причине, эта функция завершается ошибкой, а сведения о файле не вводятся в реестре.

The information in the arguments rglpszRegister and rglpszOverwrite is written to the registry through a call to AfxOleRegisterServerClass. Сведения по умолчанию, зарегистрированные при наличии двух аргументов NULL, подходят для большинства приложений. Сведения о структуре информации в этих аргументах см. в разделе AfxOleRegisterServerClass.

Дополнительные сведения см. в разделе Implementing the IDispatch Interface.

See also

Пример HIERSVR MFC
COleObjectFactory Class
Hierarchy Chart
COleServerDoc Class
COleServerItem Class