Partilhar via


Classe COleTemplateServer

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

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

Syntax

class COleTemplateServer : public COleObjectFactory

Members

Construtores Públicos

Name Description
COleTemplateServer::COleTemplateServer Constrói um objeto COleTemplateServer.

Métodos Públicos

Name Description
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.

Remarks

Esta classe deriva da classe COleObjectFactory; Normalmente, pode usar COleTemplateServer diretamente em vez de derivar a sua própria classe. COleTemplateServer utiliza um objeto CDocTemplate para gerir os documentos do servidor. Use COleTemplateServer ao implementar um servidor completo, ou seja, um servidor que pode ser executado como um aplicativo autônomo. Servidores completos são normalmente aplicativos de interface de documento múltiplo (MDI), embora aplicativos de interface de documento único (SDI) sejam suportados. Um COleTemplateServer objeto é necessário para cada tipo de documento de servidor suportado por um aplicativo, ou seja, se seu aplicativo de servidor suporta planilhas e gráficos, você deve ter dois COleTemplateServer objetos.

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

Para obter mais informações sobre servidores, consulte o artigo Servidores: Implementando um servidor.

Hierarquia de herança

CObject

CCmdTarget

COleObjectFactory

COleTemplateServer

Requirements

Cabeçalho: afxdisp.h

COleTemplateServer::COleTemplateServer

Constrói um objeto COleTemplateServer.

COleTemplateServer();

Remarks

Para uma breve descrição da utilização da COleTemplateServer classe, consulte a visão geral da classe COleLinkingDoc .

COleTemplateServer::ConnectTemplate

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

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

Parameters

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

pDocTemplate
Ponteiro para o modelo de documento.

bMultiInstância
Indica se uma única instância do aplicativo pode suportar várias instanciações. Se TRUE, várias instâncias do aplicativo são iniciadas para cada solicitação de criação de um objeto.

Remarks

Para mais informações, consulte CLSID Key no Windows SDK.

COleTemplateServer::Unregister

Cancela o registro do modelo de documento associado.

BOOL Unregister();

Valor de retorno

VERDADEIRO se bem sucedido; caso contrário, FALSE.

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);

Parameters

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

  • OAT_INPLACE_SERVER Server tem interface de usuário de servidor completo.

  • OAT_SERVER Server suporta apenas incorporação.

  • OAT_CONTAINER Container suporta links para objetos incorporados.

  • OAT_DISPATCH_OBJECT objeto é IDispatchcapaz.

  • O OAT_DOC_OBJECT_SERVER Server oferece suporte à incorporação e ao modelo de componente Objeto de documento.

rglpszRegister
Uma lista de entradas que é gravada no registo apenas se não existirem entradas.

rglpszOverwrite
Uma lista de entradas que é gravada no registo, independentemente de existirem entradas anteriores.

bRegister
Determina se a classe deve ser registrada. Se bRegister for TRUE, a classe é registada no registo do sistema. Caso contrário, ele cancela o registro da classe.

Remarks

A informação de registo é carregada através de uma chamada para CDocTemplate::GetDocString. As substrings recuperadas são aquelas identificadas pelos índices regFileTypeId, regFileTypeNamee fileNewName, conforme descrito nas páginas de GetDocString referência.

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

A informação nos argumentos rglpszRegister e rglpszOverwrite é escrita no registo através 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 obter informações sobre a estrutura das informações nesses argumentos, consulte AfxOleRegisterServerClass.

Para obter mais informações, consulte Implementando a interface IDispatch.

Consulte também

Exemplo MFC HIERSVR
Classe COleObjectFactory
Gráfico de Hierarquia
Classe COleServerDoc
COleServerItem Classe