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
物件。
COleTemplateServer
會 OnCreateInstance
覆寫 所 COleObjectFactory
定義的成員函式。 架構會呼叫此成員函式,以建立適當類型的 C++ 物件。
如需伺服器的詳細資訊,請參閱伺服器:實作伺服器 一文 。
繼承階層架構
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 來載入。 擷取的子字串是由索引 regFileTypeId
、 regFileTypeName
和 fileNewName
所識別的子字串,如參考頁面所述 GetDocString
。
如果子字串是空的 regFileTypeId
,或 GetDocString
呼叫因任何其他原因而失敗,則此函式會失敗,而且檔案資訊不會在登錄中輸入。
引數 rglpszRegister 和 rglpszOverwrite 中的資訊會透過對 AfxOleRegisterServerClass 的呼叫 寫入登錄。 當兩個引數為 Null 時所註冊的預設資訊,適用于大部分的應用程式。 如需這些引數中資訊結構的資訊,請參閱 AfxOleRegisterServerClass
。
如需詳細資訊,請參閱 Implementing the IDispatch Interface。
另請參閱
MFC 範例 HIERSVR
COleObjectFactory 類別
階層架構圖表
COleServerDoc 類別
COleServerItem 類別
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應