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
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参照ページで説明されているように、regFileTypeName、fileNewName、および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