あるクラスのオブジェクトを別クラスのオブジェクトとして扱うエミュレーションを設定または解除する。
CoTreatAsClass clsidOld, clsidNew
clsidOld : [var] エミュレートされる対象のオブジェクトの CLSID。 clsidNew : [var] 元のオブジェクトをエミュレートすべきオブジェクトの CLSID。これは clsidOld に対する既存のエミュレーション設定を置き換える。このパラメータに CLSID_NULL を指定すると、clsidOld に対する既存のエミュレーション設定が削除される。
(プラグイン / モジュール : ole32.dll)
あるクラスのオブジェクトを別クラスのオブジェクトとして扱うエミュレーションを設定または解除する。 [戻り値] この関数は標準の戻り値 E_INVALIDARG に加えて以下の値を返すことがある。 (以下省略) [備考] この関数は、指定したオブジェクトに対してレジストリ内の TreatAs エントリを設定し、別のアプリケーションによるエミュレーションを可能にする。エミュレーションにより、アプリケーションは異なる形式のオブジェクトを開いて編集することができ、かつ元の形式を保持することができる。このエントリが設定されると、CoGetClassObject などの関数がオブジェクトの元の CLSID(clsidOld)を指定するたびに、それは透過的に新しい CLSID(clsidNew)に転送され、TreatAs CLSID に関連付けられたアプリケーションが起動される。オブジェクトを保存するときには、そのネイティブ形式で保存することができるが、元の形式ではサポートされない編集内容が失われる可能性がある。アプリケーションがエミュレーションをサポートしている場合、以下の状況で CoTreatAsClass を呼び出す。 (以下省略)
| プラグイン / モジュール | ole32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の ole32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_ole32_gen2.hs |