次の方法で共有


COleTemplateServer Class

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

Syntax

class COleTemplateServer : public COleObjectFactory

Members

Public Constructors

Name Description
COleTemplateServer::COleTemplateServer COleTemplateServer オブジェクトを構築します。

Public Methods

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

Remarks

This class is derived from the class COleObjectFactory; usually, you can use COleTemplateServer directly rather than deriving your own class. COleTemplateServer uses a CDocTemplate object to manage the server documents. COleTemplateServer完全なサーバー (スタンドアロン アプリケーションとして実行できるサーバー) を実装する場合に使用します。 フル サーバーは通常、複数のドキュメント インターフェイス (MDI) アプリケーションですが、単一ドキュメント インターフェイス (SDI) アプリケーションがサポートされています。 アプリケーションがサポートするサーバー ドキュメントの種類ごとに 1 つの COleTemplateServer オブジェクトが必要です。つまり、サーバー アプリケーションでワークシートとグラフの両方がサポートされている場合は、2 つの COleTemplateServer オブジェクトが必要です。

COleTemplateServerは、OnCreateInstanceによって定義されたCOleObjectFactoryメンバー関数をオーバーライドします。 このメンバー関数は、適切な型の C++ オブジェクトを作成するためにフレームワークによって呼び出されます。

サーバーの詳細については、「 Servers: サーバーの実装」を参照してください。

Inheritance Hierarchy

CObject

CCmdTarget

COleObjectFactory

COleTemplateServer

Requirements

Header: afxdisp.h

COleTemplateServer::COleTemplateServer

COleTemplateServer オブジェクトを構築します。

COleTemplateServer();

Remarks

For a brief description of the use of the COleTemplateServer class, see the COleLinkingDoc class overview.

COleTemplateServer::ConnectTemplate

Connects the document template pointed to by pDocTemplate to the underlying COleObjectFactory object.

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

Parameters

clsid
テンプレートが要求する OLE クラス ID への参照。

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

bMultiInstance
アプリケーションの 1 つのインスタンスが複数のインスタンス化をサポートできるかどうかを示します。 TRUE の場合、オブジェクトを作成する要求ごとに、アプリケーションの複数のインスタンスが起動されます。

Remarks

For more information, see CLSID Key in the Windows SDK.

COleTemplateServer::Unregister

関連付けられているドキュメント テンプレートの登録を解除します。

BOOL Unregister();

Return Value

成功した場合は TRUE、それ以外の場合は FALSE。

COleTemplateServer::UpdateRegistry

ドキュメント テンプレート文字列からファイルの種類の情報を読み込み、その情報を OLE システム レジストリに配置します。

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

Parameters

nAppType
AFXDISP.H で定義されているOLE_APPTYPE列挙体の値。 次のいずれかの値を指定できます。

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

  • OAT_SERVER Server では埋め込みのみがサポートされます。

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

  • OAT_DISPATCH_OBJECT オブジェクトは IDispatch対応です。

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

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

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

bRegister
クラスを登録するかどうかを決定します。 If bRegister is TRUE, the class is registered with the system registry. それ以外の場合は、クラスの登録を解除します。

Remarks

The registration information is loaded by means of a call to CDocTemplate::GetDocString. 取得される部分文字列は、regFileTypeId参照ページで説明されているように、regFileTypeNamefileNewName、およびGetDocStringインデックスによって識別される部分文字列です。

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

The information in the arguments rglpszRegister and rglpszOverwrite is written to the registry through a call to AfxOleRegisterServerClass. 2 つの引数が NULL の場合に登録される既定の情報は、ほとんどのアプリケーションに適しています。 これらの引数の情報の構造については、 AfxOleRegisterServerClassを参照してください。

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

See also

MFC サンプル HIERSVR
COleObjectFactory Class
Hierarchy Chart
COleServerDoc Class
COleServerItem Class