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
物件。
COleTemplateServer
會 OnCreateInstance
覆寫 所 COleObjectFactory
定義的成員函式。 架構會呼叫此成員函式,以建立適當類型的C++物件。
如需伺服器的詳細資訊,請參閱伺服器:實作伺服器一文。
繼承階層架構
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 來載入。 擷取的子字串是由索引 regFileTypeId
、 regFileTypeName
和 fileNewName
所識別的子字串,如參考頁面所述 GetDocString
。
如果子字串是空的 regFileTypeId
,或 GetDocString
呼叫因任何其他原因而失敗,則此函式會失敗,而且檔案資訊不會在登錄中輸入。
自變數 rglpszRegister 和 rglpszOverwrite 中的資訊會透過對 AfxOleRegisterServerClass 的呼叫寫入登錄。 當兩個自變數為 NULL 時所註冊的預設資訊,適用於大部分的應用程式。 如需這些自變數中資訊結構的資訊,請參閱 AfxOleRegisterServerClass
。
如需詳細資訊,請參閱 Implementing the IDispatch Interface。
另請參閱
MFC 範例 HIERSVR
COleObjectFactory 類別
階層架構圖表
COleServerDoc 類別
COleServerItem 類別