共用方式為


COleTemplateServer Class

用於 OLE 視覺化編輯伺服程式、Automation 伺服程式和連結容器 (支援內嵌連結的應用程式)。

Syntax

class COleTemplateServer : public COleObjectFactory

Members

Public Constructors

Name Description
COleTemplateServer::COleTemplateServer 建構 COleTemplateServer 物件。

Public Methods

Name Description
COleTemplateServer::ConnectTemplate 將檔案範本連接到基礎 COleObjectFactory 物件。
COleTemplateServer::Unregister 取消註冊相關聯的文件範本。
COleTemplateServer::UpdateRegistry 向 OLE 系統登錄註冊檔類型。

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. 實作完整伺服器時,請使用 COleTemplateServer ,也就是可作為獨立應用程式執行的伺服器。 雖然支援單一檔介面 (SDI) 應用程式,但完整伺服器通常是多個檔介面 (MDI) 應用程式。 應用程式支援的每個伺服器檔案類型都需要一個 COleTemplateServer 物件;也就是說,如果您的伺服器應用程式同時支援工作表和圖表,您必須有兩個 COleTemplateServer 物件。

COleTemplateServerOnCreateInstance 覆寫 所 COleObjectFactory定義的成員函式。 架構會呼叫此成員函式,以建立適當類型的C++物件。

如需伺服器的詳細資訊,請參閱伺服器:實作伺服器一文

Inheritance Hierarchy

CObject

CCmdTarget

COleObjectFactory

COleTemplateServer

Requirements

Header: afxdisp.h

COleTemplateServer::COleTemplateServer

建構 COleTemplateServer 物件。

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
範本要求之 OLE 類別標識碼的參考。

pDocTemplate
檔範本的指標。

bMultiInstance
指出應用程式的單一實例是否可以支援多個具現化。 如果為 TRUE,則會針對每個要求啟動應用程式的多個實例來建立物件。

Remarks

For more information, see CLSID Key in the Windows SDK.

COleTemplateServer::Unregister

取消註冊相關聯的文件範本。

BOOL Unregister();

Return Value

如果成功,則為 TRUE,否則為 FALSE。

COleTemplateServer::UpdateRegistry

從文件範本字串載入檔案類型資訊,並將該資訊放在OLE系統登錄中。

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

Parameters

nAppType
OLE_APPTYPE 列舉中的值,定義於 AFXDISP.H 中。 它可以有下列任何一個值:

  • OAT_INPLACE_SERVER Server 具有完整的伺服器使用者介面。

  • OAT_SERVER Server 僅支援內嵌。

  • OAT_CONTAINER Container 支援內嵌對象的連結。

  • OAT_DISPATCH_OBJECT物件具有 IDispatch功能。

  • OAT_DOC_OBJECT_SERVER Server 同時支援內嵌和 Document 物件元件模型。

rglpszRegister
只有在沒有任何專案存在時,才會寫入登錄的項目清單。

rglpszOverwrite
不論是否有任何先前專案存在,寫入登錄的項目清單。

bRegister
判斷類別是否要註冊。 If bRegister is TRUE, the class is registered with the system registry. 否則,它會取消註冊 類別。

Remarks

The registration information is loaded by means of a call to CDocTemplate::GetDocString. 擷取的子字串是由索引 regFileTypeIdregFileTypeNamefileNewName所識別的子字串,如參考頁面所述 GetDocString

如果子字串是空的 regFileTypeId ,或 GetDocString 呼叫因任何其他原因而失敗,則此函式會失敗,而且檔案資訊不會在登錄中輸入。

The information in the arguments rglpszRegister and rglpszOverwrite is written to the registry through a call to AfxOleRegisterServerClass. 當兩個自變數為 NULL 時所註冊的預設資訊,適用於大部分的應用程式。 如需這些自變數中資訊結構的資訊,請參閱 AfxOleRegisterServerClass

如需詳細資訊,請參閱 Implementing the IDispatch Interface

See also

MFC 範例 HIERSVR
COleObjectFactory Class
Hierarchy Chart
COleServerDoc Class
COleServerItem Class