OLE オブジェクトサーバがシステムレジストリに登録したデータ形式を列挙するために使用できる列挙オブジェクトを作成する。
OleRegEnumFormatEtc clsid, dwDirection, ppenum
clsid : [var] 形式が要求されるクラスの CLSID。 dwDirection : [int] IDataObject::GetData に渡せる形式を列挙するか、IDataObject::SetData に渡せる形式を列挙するかを示す。指定可能な値は DATADIR 列挙から取得する。 ppenum : [var] 列挙オブジェクトへのインターフェイスポインタを受け取る IEnumFORMATETC ポインタ変数のアドレス。
(プラグイン / モジュール : ole32.dll)
OLE オブジェクトサーバがシステムレジストリに登録したデータ形式を列挙するために使用できる列挙オブジェクトを作成する。 [戻り値] 関数が成功した場合は S_OK を返す。その他に返される値は以下のとおり。 (以下省略) [備考] オブジェクトアプリケーションは、サポートされるデータ形式を列挙する FORMATETC 構造体の列挙オブジェクトを OLE に作成させるために、2 つの方法のいずれかを使用できる。1 つは OleRegEnumFormatEtc を呼び出す方法である。もう 1 つは、既定のオブジェクトハンドラから IDataObject::EnumFormatEtc が呼び出されたときに OLE_S_USEREG を返す方法である。OLE_S_USEREG は既定のハンドラに OleRegEnumFormatEtc を呼び出すよう指示する。DLL オブジェクトアプリケーションは OLE_S_USEREG を返せないため、オブジェクトハンドラに作業を委譲するのではなく OleRegEnumFormatEtc を呼び出さなければならない。提供されたオブジェクトへの IEnumFORMATETC ポインタを使用して、標準の列挙オブジェクトメソッドを呼び出して列挙を行うことができる。 OleRegEnumFormatEtc 関数とその兄弟関数である OleRegGetUserType、OleRegGetMiscStatus、OleRegEnumVerbs は、カスタム DLL オブジェクトアプリケーションの開発者が、レジストリからオブジェクトに関する情報を取得する際の OLE の既定のオブジェクトハンドラの動作をエミュレートする方法を提供する。これらの関数を使用することで、独自に書く相当な労力と、レジストリで直接作業することの落とし穴を避けることができる。さらに、これらの関数の今後の拡張や最適化を、自分でコーディングすることなく得られる。
| プラグイン / モジュール | 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 |