Partilhar via


Classe COleTemplateServer

Usado para servidores de edição visual OLE, servidores de automação e contêineres de link (aplicativos que dão suporte a links para incorporações).

Sintaxe

class COleTemplateServer : public COleObjectFactory

Membros

Construtores públicos

Nome Descrição
COleTemplateServer::COleTemplateServer Constrói um objeto COleTemplateServer.

Métodos públicos

Nome Descrição
COleTemplateServer::ConnectTemplate Conecta um modelo de documento ao objeto subjacente COleObjectFactory.
COleTemplateServer::Unregister Cancela o registro do modelo de documento associado.
COleTemplateServer::UpdateRegistry Registra o tipo de documento com o Registro do sistema OLE.

Comentários

Essa classe é derivada da classe COleObjectFactory; geralmente, você pode usar COleTemplateServer diretamente, em vez de derivar uma classe própria. COleTemplateServer usa um objeto CDocTemplate para gerenciar os documentos do servidor. Use COleTemplateServer ao implementar um servidor completo, ou seja, um servidor que pode ser executado como um aplicativo autônomo. Os servidores completos normalmente são vários aplicativos MDI (interface de documento), embora haja suporte para aplicativos SDI (interface de documento único). Um objeto COleTemplateServer é necessário para cada tipo de documento de servidor compatível com um aplicativo; ou seja, se o aplicativo para servidores dá suporte a planilhas e gráficos, você deve ter dois objetos COleTemplateServer.

COleTemplateServer substitui a função de membro OnCreateInstance definida por COleObjectFactory. Essa função de membro é chamada pela estrutura para criar um objeto C++ do tipo adequado.

Para mais informações sobre servidores, confira o artigo Servidores: como implementar um servidor.

Hierarquia de herança

CObject

CCmdTarget

COleObjectFactory

COleTemplateServer

Requisitos

Cabeçalho afxdisp.h

COleTemplateServer::COleTemplateServer

Constrói um objeto COleTemplateServer.

COleTemplateServer();

Comentários

Para uma breve descrição do uso da classe COleTemplateServer, confira a visão geral da classe COleLinkingDoc.

COleTemplateServer::ConnectTemplate

Conecta o modelo de documento apontado por pDocTemplate ao objeto COleObjectFactory subjacente.

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

Parâmetros

clsid
Referência à ID da classe OLE que o modelo solicita.

pDocTemplate
Ponteiro para o modelo de documento.

bMultiInstance
Indica se uma só instância do aplicativo pode dar suporte a várias instanciações. Se TRUE, várias instâncias do aplicativo serão iniciadas para cada solicitação para criar um objeto.

Comentários

Para mais informações, confira Chave CLSID no SDK do Windows.

COleTemplateServer::Unregister

Cancela o registro do modelo de documento associado.

BOOL Unregister();

Valor de retorno

TRUE se tiver êxito; caso contrário, FALSE.

Comentários

EnterRemarks

COleTemplateServer::UpdateRegistry

Carrega informações de tipo de arquivo da cadeia de caracteres de modelo de documento e coloca essas informações no Registro do sistema OLE.

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

Parâmetros

nAppType
Um valor da enumeração OLE_APPTYPE, que é definido em AFXDISP.H. Pode ter qualquer um dos seguintes valores:

  • OAT_INPLACE_SERVER O servidor tem interface de usuário completa do servidor.

  • OAT_SERVER O servidor dá suporte apenas à inserção.

  • OAT_CONTAINER O contêiner dá suporte a links para objetos inseridos.

  • OAT_DISPATCH_OBJECT O objeto é capaz de IDispatch.

  • OAT_DOC_OBJECT_SERVER O servidor dá suporte à inserção e ao modelo de componente objeto de documento.

rglpszRegister
Uma lista de entradas que serão gravadas no Registro somente se não existirem entradas.

rglpszOverwrite
Uma lista de entradas que serão gravadas no Registro independentemente de haver entradas anteriores.

bRegister
Determina se a classe deve ser registrada. Se bRegister for TRUE, a classe será registrada no Registro do sistema. Caso contrário, o registro da classe será cancelado.

Comentários

As informações de registro são carregadas por meio de uma chamada para CDocTemplate::GetDocString. As substrings recuperadas são aquelas identificadas pelos índices regFileTypeId, regFileTypeName e fileNewName, conforme descrito nas páginas de referência GetDocString.

Se a substring regFileTypeId estiver vazia ou se a chamada a GetDocString falhar por qualquer outro motivo, essa função falhará e as informações do arquivo não serão inseridas no Registro.

As informações nos argumentos rglpszRegister e rglpszOverwrite são gravadas no Registro por meio de uma chamada para AfxOleRegisterServerClass. As informações padrão, que são registradas quando os dois argumentos são NULL são adequadas para a maioria dos aplicativos. Para informações sobre a estrutura das informações nesses argumentos, confira AfxOleRegisterServerClass.

Para obter mais informações, confira Como implementar a interface IDispatch.

Confira também

HIERSVR de exemplo do MFC
Classe COleObjectFactory
Gráfico da hierarquia
Classe COleServerDoc
Classe COleServerItem