次の方法で共有


CoGetTreatAsClass 関数 (combaseapi.h)

指定したオブジェクトをエミュレートできるオブジェクトの CLSID を返します。

構文

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

パラメーター

[in] clsidOld

別の CLSID を持つオブジェクトをエミュレート (として扱うことができる) オブジェクトの CLSID。

[out] pClsidNew

clsidOld オブジェクトをエミュレートできる CLSID が取得される場所へのポインター。 このパラメーターを NULL にすることはできません。 clsidOld オブジェクトのエミュレーション情報がない場合は、clsidOld パラメーターが指定されます。

戻り値

この関数は、 CLSIDFromString 関数によって返されるエラー値と同様に、次の値を返すことができます。

リターン コード 説明
S_OK
新しい CLSID が正常に返されました。
S_FALSE
clsidOld パラメーターのエミュレーション情報がないため、pClsidNew パラメーターは clsidOld に設定されます。
REGDB_E_READREGDB
レジストリの読み取りにエラーが発生しました。

注釈

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

こちらもご覧ください

CoTreatAsClass