CoGetTreatAsClass 関数 (combaseapi.h)
指定したオブジェクトをエミュレートできるオブジェクトの CLSID を返します。
構文
HRESULT CoGetTreatAsClass(
[in] REFCLSID clsidOld,
[out] LPCLSID pClsidNew
);
パラメーター
[in] clsidOld
別の CLSID を持つオブジェクトをエミュレート (として扱うことができる) オブジェクトの CLSID。
[out] pClsidNew
clsidOld オブジェクトをエミュレートできる CLSID が取得される場所へのポインター。 このパラメーターを NULL にすることはできません。 clsidOld オブジェクトのエミュレーション情報がない場合は、clsidOld パラメーターが指定されます。
戻り値
この関数は、 CLSIDFromString 関数によって返されるエラー値と同様に、次の値を返すことができます。
リターン コード | 説明 |
---|---|
|
新しい CLSID が正常に返されました。 |
|
clsidOld パラメーターのエミュレーション情報がないため、pClsidNew パラメーターは clsidOld に設定されます。 |
|
レジストリの読み取りにエラーが発生しました。 |
注釈
CoGetTreatAsClass は、指定したオブジェクトのレジストリ内の TreatAs エントリを返します。 TreatAs エントリ (設定されている場合) は、対象のオブジェクトをエミュレートできる登録済みオブジェクト (アプリケーション) の CLSID です。 TreatAs エントリは、CoTreatAsClass 関数の呼び出しによって設定されます。 エミュレーションを使用すると、アプリケーションは、オブジェクトの元の形式を保持しながら、別の形式のオブジェクトを開いたり編集したりできます。 元の CLSID のオブジェクトがアクティブ化され、2 番目の CLSID のオブジェクトとして扱われます。 オブジェクトを保存すると、元の形式ではサポートされていない編集が失われる可能性があります。 指定したオブジェクトに TreatAs エントリがない場合、この関数は元のオブジェクト (clsidOld) の CLSID を返します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | combaseapi.h (Objbase.h を含む) |
Library | Ole32.lib |
[DLL] | Ole32.dll |