OleGetAutoConvert 関数 (ole2.h)

指定した CLSID のオブジェクトが別の CLSID に自動的に変換されるようにレジストリが設定されているかどうかを判断し、その場合は新しい CLSID を取得します。

構文

HRESULT OleGetAutoConvert(
  [in]  REFCLSID clsidOld,
  [out] LPCLSID  pClsidNew
);

パラメーター

[in] clsidOld

オブジェクトの CLSID。

[out] pClsidNew

新しい CLSID を受け取る変数へのポインター (存在する場合)。 レジストリで clsidOld の自動変換が設定されていない場合は、clsidOld が返されます。 pClsidNew パラメーターが NULL になることはありません。

戻り値

この関数は、標準の戻り値E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、および次の値を返すことができます。

リターン コード 説明
S_OK
pclsidNew パラメーターを使用して値が正常に返されました。
REGDB_E_CLASSNOTREG
CLSID がレジストリに正しく登録されていません。
REGDB_E_READREGDB
レジストリからの読み取り中にエラーが発生しました。
REGDB_E_KEYMISSING
自動変換がアクティブではないか、 clsidOld パラメーターのレジストリ エントリがありませんでした。

注釈

OleGetAutoConvert は、指定したオブジェクトのレジストリ内の AutoConvertTo エントリを返します。 AutoConvertTo サブキーは、特定の CLSID のオブジェクトを新しい CLSID に自動的に変換するかどうかを指定します。 これは通常、古いバージョンのアプリケーションによって作成されたファイルを現在のバージョンに変換するために使用されます。 AutoConvertTo エントリがない場合、この関数は clsidOld の値を返します。

OleDoAutoConvert 関数は、OleGetAutoConvert を呼び出して、指定されたオブジェクトを変換するかどうかを判断します。 オブジェクト変換をサポートするコンテナー アプリケーションでは、オブジェクトを読み込むたびに OleDoAutoConvert を呼び出す必要があります。 コンテナーが OleLoad ヘルパー関数を使用する場合、 OleDoAutoConvert を明示的に呼び出す必要はありません。 これは、OleLoad によって内部的に呼び出されるためです。

特定のクラスの自動変換を設定するには、 OleSetAutoConvert 関数を呼び出します (通常は、アプリケーション インストールのセットアップ プログラムで)。 この関数では 、AutoConvertTo サブキーを使用して、オブジェクトのクラスにタグを付けて、別のオブジェクト クラスへの自動変換を行います。 これは CLSID キーのサブキーです。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー ole2.h
Library Ole32.lib
[DLL] Ole32.dll
API セット ext-ms-win-com-ole32-l1-1-0 (Windows 8で導入)

こちらもご覧ください

AutoConvertTo

OleDoAutoConvert

OleSetAutoConvert