Класс COleTemplateServer
Используется для OLE-серверов визуального редактирования, серверов автоматизации и контейнеров связей (приложений, поддерживающих ссылки на внедряемые объекты).
Синтаксис
class COleTemplateServer : public COleObjectFactory
Участники
Открытые конструкторы
Имя | Описание |
---|---|
COleTemplateServer::COleTemplateServer | Формирует объект COleTemplateServer . |
Открытые методы
Имя | Описание |
---|---|
COleTemplateServer::ConnectTemplate | Подключает шаблон документа к базовому COleObjectFactory объекту. |
COleTemplateServer::Unregister | Отменяет регистрацию связанного шаблона документа. |
COleTemplateServer::UpdateRegistry | Регистрирует тип документа в системный реестр OLE. |
Замечания
Этот класс является производным от класса COleObjectFactory; обычно можно использовать COleTemplateServer
напрямую, а не производный собственный класс. COleTemplateServer
использует объект CDocTemplate для управления документами сервера. Используйте COleTemplateServer
при реализации полного сервера, то есть сервера, который можно запустить как автономное приложение. Полные серверы обычно являются несколькими приложениями интерфейса документов (MDI), хотя поддерживаются приложения с одним интерфейсом документов (SDI). Для каждого типа документа сервера требуется один COleTemplateServer
объект, поддерживаемый приложением. То есть, если серверное приложение поддерживает как листы, так и диаграммы, необходимо иметь два COleTemplateServer
объекта.
COleTemplateServer
переопределяет функцию-член, определяемую OnCreateInstance
COleObjectFactory
. Эта функция-член вызывается платформой для создания объекта C++ соответствующего типа.
Дополнительные сведения о серверах см. в статье "Серверы: реализация сервера".
Иерархия наследования
COleTemplateServer
Требования
Заголовок: afxdisp.h
COleTemplateServer::COleTemplateServer
Формирует объект COleTemplateServer
.
COleTemplateServer();
Замечания
Краткое описание использования COleTemplateServer
класса см. в обзоре класса COleLinkingDoc .
COleTemplateServer::ConnectTemplate
Подключает шаблон документа, на который указывает pDocTemplate, к базовому объекту COleObjectFactory.
void ConnectTemplate(
REFCLSID clsid,
CDocTemplate* pDocTemplate,
BOOL bMultiInstance);
Параметры
clsid
Ссылка на идентификатор класса OLE, запрашиваемого шаблоном.
pDocTemplate
Указатель на шаблон документа.
bMultiInstance
Указывает, может ли один экземпляр приложения поддерживать несколько экземпляров. Если значение TRUE, для каждого запроса для создания объекта запускается несколько экземпляров приложения.
Замечания
Дополнительные сведения см. в разделе CLSID Key in the Windows SDK.
COleTemplateServer::Unregister
Отменяет регистрацию связанного шаблона документа.
BOOL Unregister();
Возвращаемое значение
Значение TRUE, если успешно; в противном случае — FALSE.
Замечания
ВводRemarks
COleTemplateServer::UpdateRegistry
Загружает сведения о типе файла из строки шаблона документа и помещает эти сведения в системный реестр OLE.
void UpdateRegistry(
OLE_APPTYPE nAppType = OAT_INPLACE_SERVER,
LPCTSTR* rglpszRegister = NULL,
LPCTSTR* rglpszOverwrite = NULL,
BOOL bRegister = TRUE);
Параметры
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
Определяет, должен ли класс быть зарегистрирован. Если bRegister имеет значение TRUE, класс регистрируется в системный реестр. В противном случае он отменяет регистрацию класса.
Замечания
Сведения о регистрации загружаются с помощью вызова CDocTemplate::GetDocString. Извлекаемые подстроки — это те, которые определяются индексами regFileTypeId
иregFileTypeName
fileNewName
, как описано на GetDocString
справочных страницах.
regFileTypeId
Если подстрока пуста или если вызов завершается GetDocString
ошибкой по какой-либо другой причине, эта функция завершается ошибкой, а сведения о файле не вводятся в реестре.
Сведения в аргументах rglpszRegister и rglpszOverwrite записываются в реестр с помощью вызова AfxOleRegisterServerClass. Сведения по умолчанию, зарегистрированные при наличии двух аргументов NULL, подходят для большинства приложений. Сведения о структуре информации в этих аргументах см. в разделе AfxOleRegisterServerClass
.
Дополнительные сведения см. в разделе Implementing the IDispatch Interface.
См. также
Пример HIERSVR MFC
Класс COleObjectFactory
Диаграмма иерархии
Класс COleServerDoc
Класс COleServerItem