COleTemplateServer クラス

OLE のビジュアル編集サーバー、オートメーション サーバー、およびリンク コンテナー (埋め込みアイテムへのリンクをサポートするアプリケーションのことです) で使います。

構文

class COleTemplateServer : public COleObjectFactory

メンバー

パブリック コンストラクター

名前 説明
COleTemplateServer::COleTemplateServer COleTemplateServer オブジェクトを構築します。

パブリック メソッド

名前 説明
COleTemplateServer::ConnectTemplate ドキュメント テンプレートを基になる COleObjectFactory オブジェクトに接続します。
COleTemplateServer::Unregister 関連付けられているドキュメント テンプレートの登録を解除します。
COleTemplateServer::UpdateRegistry OLE システム レジストリにドキュメントの種類を登録します。

解説

このクラスは COleObjectFactory クラスから派生します。通常は、独自のクラスを派生するのではなく、直接使用COleTemplateServerできます。 COleTemplateServer は、 CDocTemplate オブジェクトを使用してサーバー ドキュメントを管理します。 完全なサーバー 、つまりスタンドアロン アプリケーションとして実行できるサーバーを実装する場合に使用 COleTemplateServer します。 フル サーバーは通常、複数のドキュメント インターフェイス (MDI) アプリケーションですが、単一ドキュメント インターフェイス (SDI) アプリケーションがサポートされています。 アプリケーションがサポートするサーバー ドキュメントの種類ごとに 1 つの COleTemplateServer オブジェクトが必要です。つまり、サーバー アプリケーションがワークシートとグラフの両方をサポートしている場合は、2 つの COleTemplateServer オブジェクトが必要です。

COleTemplateServerによってCOleObjectFactory定義されたメンバー関数をOnCreateInstanceオーバーライドします。 このメンバー関数は、適切な型の 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 クラス ID への参照。

pDocTemplate
ドキュメント テンプレートへのポインター。

bMultiInstance
アプリケーションの 1 つのインスタンスが複数のインスタンス化をサポートできるかどうかを示します。 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
AFXDISP.H で定義されているOLE_APPTYPE列挙体の値。 次のいずれかの値を指定できます。

  • OAT_INPLACE_Standard Edition RVER Server には、完全なサーバー ユーザー インターフェイスがあります。

  • OAT_Standard Edition RVER Server では、埋め込みのみがサポートされます。

  • OAT_CONTAINER Container では、埋め込みオブジェクトへのリンクがサポートされています。

  • OAT_DISPATCH_OBJECT オブジェクトは -capable です IDispatch

  • OAT_DOC_OBJECT_Standard Edition RVER Server では、埋め込みとドキュメント オブジェクト コンポーネント モデルの両方がサポートされています。

rglpszRegister
エントリが存在しない場合にのみレジストリに書き込まれるエントリの一覧。

rglpszOverwrite
前のエントリが存在するかどうかに関係なく、レジストリに書き込まれるエントリの一覧。

bRegister
クラスを登録するかどうかを決定します。 bRegister が TRUE の場合、クラスはシステム レジストリに登録されます。 それ以外の場合は、クラスの登録を解除します。

解説

登録情報は、CDocTemplate::GetDocString呼び出しによって読み込まれます。 取得される部分文字列は、参照ページでGetDocString説明されているように、インデックスregFileTypeIdregFileTypeNamefileNewNameによって識別される部分文字列です。

部分文字列が regFileTypeId 空の場合、または他の理由で呼び出し GetDocString が失敗した場合、この関数は失敗し、ファイル情報はレジストリに入力されません。

引数 rglpszRegister と rglpszOverwrite の情報は、AfxOleRegisterServerClass の呼び出しによってレジストリに書き込まれます 2 つの引数が NULL の場合に登録される既定の情報は、ほとんどのアプリケーションに適しています。 これらの引数の情報の構造については、以下を参照してください AfxOleRegisterServerClass

詳細については、「 Implementing the IDispatch Interface」を参照してください。

関連項目

MFC サンプル HIERSVR
COleObjectFactory クラス
階層図
COleServerDoc クラス
COleServerItem クラス