共用方式為


COleTemplateServer 類別

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

語法

class COleTemplateServer : public COleObjectFactory

成員

公用建構函式

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

公用方法

名稱 描述
COleTemplateServer::連線Template 連線檔範本至基礎 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::連線Template

連線 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 呼叫因任何其他原因而失敗,則此函式會失敗,而且檔案資訊不會在登錄中輸入。

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

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

另請參閱

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