Clase COleTemplateServer

Se utiliza para servidores de edición visual OLE, servidores de automatización y contenedores de vínculos (aplicaciones que admiten vínculos con incrustaciones).

Sintaxis

class COleTemplateServer : public COleObjectFactory

Miembros

Constructores públicos

Nombre Descripción
COleTemplateServer::COleTemplateServer Construye un objeto COleTemplateServer.

Métodos públicos

Nombre Descripción
COleTemplateServer::ConnectTemplate Conecta una plantilla de documento al objeto COleObjectFactory subyacente.
COleTemplateServer::Unregister Anula el registro de la plantilla de documento asociada.
COleTemplateServer::UpdateRegistry Registra el tipo de documento con el registro del sistema OLE.

Comentarios

Esta clase se deriva de la clase COleObjectFactory; normalmente, puede usar COleTemplateServer directamente en lugar de derivar su propia clase. COleTemplateServer usa un objeto CDocTemplate para administrar los documentos del servidor. Use COleTemplateServer al implementar un servidor completo, es decir, un servidor que se pueda ejecutar como una aplicación independiente. Los servidores completos suelen ser aplicaciones de interfaz de múltiples documentos (MDI), aunque se admiten aplicaciones de interfaz de documento único (SDI). Se necesita un objeto COleTemplateServer para cada tipo de documento de servidor que admite una aplicación; es decir, si la aplicación de servidor admite hojas de cálculo y gráficos, debe tener dos objetos COleTemplateServer.

COleTemplateServer invalida la función miembro OnCreateInstance que define COleObjectFactory. El marco llama a esta función miembro para crear un objeto de C++ del tipo adecuado.

Para obtener más información sobre los servidores, vea el artículo Servidores: Implementar un servidor.

Jerarquía de herencia

CObject

CCmdTarget

COleObjectFactory

COleTemplateServer

Requisitos

Encabezado: afxdisp.h

COleTemplateServer::COleTemplateServer

Construye un objeto COleTemplateServer.

COleTemplateServer();

Comentarios

Para obtener una descripción breve del uso de la clase COleTemplateServer, vea la información general de la clase COleLinkingDoc.

COleTemplateServer::ConnectTemplate

Conecta la plantilla de documento a la que apunta pDocTemplate al objeto COleObjectFactory subyacente.

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

Parámetros

clsid
Referencia al id. de clase OLE que solicita la plantilla.

pDocTemplate
Puntero a la plantilla de documento.

bMultiInstance
Indica si una única instancia de la aplicación puede admitir varias instancias. Si es TRUE, se inician varias instancias de la aplicación para cada solicitud para crear un objeto.

Comentarios

Para más información, consulte Clave CLSID en Windows SDK.

COleTemplateServer::Unregister

Anula el registro de la plantilla de documento asociada.

BOOL Unregister();

Valor devuelto

TRUE si es correcto; en caso contrario, FALSE.

Comentarios

EnterRemarks

COleTemplateServer::UpdateRegistry

Carga información de tipo de archivo de la cadena de la plantilla de documento y coloca esa información en el registro del sistema OLE.

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

Parámetros

nAppType
Valor de la enumeración OLE_APPTYPE, que se define en AFXDISP.H. Puede tener uno de los valores siguientes:

  • OAT_INPLACE_SERVER El servidor tiene una interfaz de usuario de servidor completa.

  • OAT_SERVER El servidor solo admite la inserción.

  • OAT_CONTAINER El contenedor admite vínculos a objetos insertados.

  • OAT_DISPATCH_OBJECT El objeto es compatible con IDispatch.

  • OAT_DOC_OBJECT_SERVER El servidor admite la inserción y el modelo de componentes del objeto de documento.

rglpszRegister
Una lista de entradas escritas en el registro solo si no existen entradas.

rglpszOverwrite
Lista de entradas escritas en el registro, independientemente de si existen entradas anteriores.

bRegister
Determina si la clase se va a registrar. Si bRegister es TRUE, la clase se registra en el registro del sistema. De lo contrario, anula el registro de la clase.

Comentarios

La información de registro se carga mediante una llamada a CDocTemplate::GetDocString. Las subcadenas recuperadas son las que identifican los índices regFileTypeId, regFileTypeName y fileNewName, tal como se describe en las páginas de referencia de GetDocString.

Si la subcadena regFileTypeId está vacía o si se produce un error en la llamada a GetDocString por cualquier otro motivo, se produce un error en esta función y la información del archivo no se introduce en el registro.

La información de los argumentos rglpszRegister y rglpszOverwrite se escribe en el registro mediante una llamada a AfxOleRegisterServerClass. La información predeterminada, que se registra cuando los dos argumentos son NULL, es adecuada para la mayoría de las aplicaciones. Para obtener información sobre la estructura de la información de estos argumentos, vea AfxOleRegisterServerClass.

Para obtener más información, consulta Implementing the IDispatch Interface.

Consulte también

HIERSVR de muestra MFC
COleObjectFactory (clase)
Gráfico de jerarquías
COleServerDoc (clase)
COleServerItem (clase)