分享方式:


COleTemplateServer 類別

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

語法

class COleTemplateServer : public COleObjectFactory

成員

公用建構函式

名稱 描述
COleTemplateServer::COleTemplateServer 建構 COleTemplateServer 物件。

公用方法

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

備註

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

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

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

繼承階層架構

CObject

CCmdTarget

COleObjectFactory

COleTemplateServer

需求

標頭: afxdisp.h

COleTemplateServer::COleTemplateServer

建構 COleTemplateServer 物件。

COleTemplateServer();

備註

如需類別用法 COleTemplateServer 的簡短描述,請參閱 COleLinkingDoc 類別概觀。

COleTemplateServer::ConnectTemplate

將 pDocTemplate 指向的文件範本連接到基礎 COleObjectFactory 物件。

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

參數

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

pDocTemplate
檔範本的指標。

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

備註

如需詳細資訊,請參閱 Windows SDK 中的 CLSID 金鑰

COleTemplateServer::Unregister

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

BOOL Unregister();

傳回值

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

備註

EnterRemarks

COleTemplateServer::UpdateRegistry

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

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

參數

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,類別會向系統登錄註冊。 否則,它會取消註冊 類別。

備註

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

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

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

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

另請參閱

MFC 範例 HIERSVR
COleObjectFactory 類別
階層架構圖表
COleServerDoc 類別
COleServerItem 類別