COleTemplateServer::UpdateRegistry
更新 : 2007 年 11 月
ドキュメント テンプレート文字列から、ファイル種別情報を読み込み、OLE システム レジストリに格納します。
void UpdateRegistry(
OLE_APPTYPE nAppType = OAT_INPLACE_SERVER,
LPCTSTR* rglpszRegister = NULL,
LPCTSTR* rglpszOverwrite = NULL,
BOOL bRegister = TRUE
);
パラメータ
nAppType
列挙子 OLE_APPTYPE の値で、AFXDISP.H で定義されています。次の値の 1 つを指定できます。OAT_INPLACE_SERVER サーバーは、フル サーバーのユーザー インターフェイスを備えています。
OAT_SERVER サーバーは、埋め込みだけをサポートします。
OAT_CONTAINER コンテナは、埋め込みオブジェクトへのリンクをサポートします。
OAT_DISPATCH_OBJECT オブジェクトは IDispatch をサポートします。
OAT_DOC_OBJECT_SERVER サーバーは、埋め込みとドキュメント オブジェクト コンポーネント モデルの両方をサポートします。
rglpszRegister
エントリが存在しないときにレジストリに書き込むエントリのリスト。rglpszOverwrite
既にエントリが存在するかどうかとは無関係に、レジストリに書き込むエントリのリスト。bRegister
クラスを登録するかどうかを指定します。bRegister に TRUE を指定すると、このクラスがレジストリに登録されます。それ以外の場合は登録されません。
解説
登録情報は、CDocTemplate::GetDocString を呼び出して読み込みます。取り出される部分文字列は、GetDocString で説明したように、インデックス regFileTypeId、regFileTypeName、および fileNewName で識別されます。
regFileTypeId 部分文字列が空であるか、なんらかの原因で GetDocString の呼び出しが失敗すると、この関数は失敗して、ファイル情報はレジストリに登録されません。
引数 rglpszRegister および rglpszOverwrite の情報は、AfxOleRegisterServerClass を使ってレジストリに書かれます。この 2 つの引数が NULL であると、既定の情報が登録されます。この既定の情報は、大部分のアプリケーションに適用できます。この引数の情報の構造については、「AfxOleRegisterServerClass」を参照してください。
詳細については、「Implementing the IDispatch Interface」を参照してください。
必要条件
ヘッダー : afxdisp.h