ColeTemplateServer 類別

備註

Microsoft 基礎類別(MFC)函式庫持續被支援。 不過,我們不再新增功能或更新文件。

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

Syntax

class COleTemplateServer : public COleObjectFactory

Members

公用建構函式

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

公用方法

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

Remarks

此類別源自 ColeObjectFactory 類別;通常你可以直接使用 COleTemplateServer ,而不是自己推導出類別。 COleTemplateServer 使用 CDocTemplate 物件來管理伺服器文件。 實作完整伺服器時,請使用 COleTemplateServer ,也就是可作為獨立應用程式執行的伺服器。 雖然支援單一檔介面 (SDI) 應用程式,但完整伺服器通常是多個檔介面 (MDI) 應用程式。 應用程式支援的每個伺服器檔案類型都需要一個 COleTemplateServer 物件;也就是說,如果您的伺服器應用程式同時支援工作表和圖表,您必須有兩個 COleTemplateServer 物件。

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

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

繼承階層架構

CObject

CCmdTarget

COleObjectFactory

COleTemplateServer

Requirements

標題: afxdisp.h

COleTemplateServer::COleTemplateServer

建構 COleTemplateServer 物件。

COleTemplateServer();

Remarks

關於該 COleTemplateServer 類別的簡要使用說明,請參閱 ColeLinkingDoc 課程概述。

COleTemplateServer::ConnectTemplate

將 pDocTemplate 指向的文件範本與底層的 COleObjectFactory 物件連結。

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

Parameters

clsid
範本要求之 OLE 類別標識碼的參考。

pDocTemplate
檔範本的指標。

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

Remarks

欲了解更多資訊,請參閱 Windows SDK 中的 CLSID 金鑰 。

COleTemplateServer::Unregister

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

BOOL Unregister();

傳回值

如果成功,則為 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
判斷類別是否要註冊。 如果 bRegister 為 TRUE,該類別會被系統登錄檔註冊。 否則,它會取消註冊 類別。

Remarks

註冊資訊是透過呼叫 CDocTemplate::GetDocString 載入的。 擷取的子字串是由索引 regFileTypeId、 regFileTypeName和 fileNewName所識別的子字串,如參考頁面所述 GetDocString 。

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

rglpszRegister 與 rglpszOverwrite 參數中的資訊會透過呼叫 AfxOleRegisterServerClass 寫入登錄檔。 當兩個自變數為 NULL 時所註冊的預設資訊,適用於大部分的應用程式。 如需這些自變數中資訊結構的資訊,請參閱 AfxOleRegisterServerClass。

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

另請參閱

MFC 範例 HIERSVR
ColeObjectFactory 類別
階層架構圖表
ColeServerDoc 類別
COleServerItem 類別