COleTemplateServer Class
Used for OLE visual editing servers, automation servers, and link containers (applications that support links to embeddings).
Syntax
class COleTemplateServer : public COleObjectFactory
Members
Public Constructors
Name | Description |
---|---|
COleTemplateServer::COleTemplateServer | Constructs a COleTemplateServer object. |
Public Methods
Name | Description |
---|---|
COleTemplateServer::ConnectTemplate | Connects a document template to the underlying COleObjectFactory object. |
COleTemplateServer::Unregister | Unregisters the associated document template. |
COleTemplateServer::UpdateRegistry | Registers the document type with the OLE system registry. |
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. Use COleTemplateServer
when implementing a full server, that is, a server that can be run as a standalone application. Full servers are typically multiple document interface (MDI) applications, although single document interface (SDI) applications are supported. One COleTemplateServer
object is needed for each type of server document an application supports; that is, if your server application supports both worksheets and charts, you must have two COleTemplateServer
objects.
COleTemplateServer
overrides the OnCreateInstance
member function defined by COleObjectFactory
. This member function is called by the framework to create a C++ object of the proper type.
For more information about servers, see the article Servers: Implementing a Server.
Inheritance Hierarchy
COleTemplateServer
Requirements
Header: afxdisp.h
COleTemplateServer::COleTemplateServer
Constructs a COleTemplateServer
object.
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
Reference to the OLE class ID that the template requests.
pDocTemplate
Pointer to the document template.
bMultiInstance
Indicates whether a single instance of the application can support multiple instantiations. If TRUE, multiple instances of the application are launched for each request to create an object.
Remarks
For more information, see CLSID Key in the Windows SDK.
COleTemplateServer::Unregister
Unregisters the associated document template.
BOOL Unregister();
Return Value
TRUE if successful; otherwise FALSE.
Remarks
EnterRemarks
COleTemplateServer::UpdateRegistry
Loads file-type information from the document-template string and places that information in the OLE system registry.
void UpdateRegistry(
OLE_APPTYPE nAppType = OAT_INPLACE_SERVER,
LPCTSTR* rglpszRegister = NULL,
LPCTSTR* rglpszOverwrite = NULL,
BOOL bRegister = TRUE);
Parameters
nAppType
A value from the OLE_APPTYPE enumeration, which is defined in AFXDISP.H. It can have any one of the following values:
OAT_INPLACE_SERVER Server has full server user-interface.
OAT_SERVER Server supports only embedding.
OAT_CONTAINER Container supports links to embedded objects.
OAT_DISPATCH_OBJECT Object is
IDispatch
-capable.OAT_DOC_OBJECT_SERVER Server supports both embedding and the Document Object component model.
rglpszRegister
A list of entries that is written into the registry only if no entries exist.
rglpszOverwrite
A list of entries that is written into the registry regardless of whether any preceding entries exist.
bRegister
Determines whether the class is to be registered. If bRegister is TRUE, the class is registered with the system registry. Otherwise, it unregisters the class.
Remarks
The registration information is loaded by means of a call to CDocTemplate::GetDocString. The substrings retrieved are those identified by the indexes regFileTypeId
, regFileTypeName
, and fileNewName
, as described in the GetDocString
reference pages.
If the regFileTypeId
substring is empty or if the call to GetDocString
fails for any other reason, this function fails and the file information is not entered in the registry.
The information in the arguments rglpszRegister and rglpszOverwrite is written to the registry through a call to AfxOleRegisterServerClass. The default information, which is registered when the two arguments are NULL, is suitable for most applications. For information on the structure of the information in these arguments, see AfxOleRegisterServerClass
.
For more information, see Implementing the IDispatch Interface.
See also
MFC Sample HIERSVR
COleObjectFactory Class
Hierarchy Chart
COleServerDoc Class
COleServerItem Class