OleCreateEmbeddingHelper

OLE デフォルトオブジェクトハンドラの各部分と集約された、アプリケーション提供のコードを用いて OLE 埋め込みヘルパーオブジェクトを作成する。このヘルパーオブジェクトは、呼び出し側が指定する特定のコンテキストおよび役割で作成し使用できる。

OleCreateEmbeddingHelper clsid, pUnkOuter, flags, pCF, riid, lplpObj

clsid : [var] 補助対象となるクラスの CLSID。
pUnkOuter : [var] 埋め込みヘルパーを集約する場合、外側のオブジェクトの制御用 IUnknown インターフェイスへのポインタ。集約しない場合は(まれではあるが)NULL を指定する。
flags : [int] 埋め込みヘルパーの役割と作成コンテキストを指定するフラグを含む DWORD。有効な値については後述の「備考」を参照。
pCF : [var] 関数が二次オブジェクトを作成するために使用するクラスオブジェクト上の IClassFactory インターフェイスへのポインタ。状況によってはこの値は NULL でもよい。詳細は後述の「備考」を参照。
riid : [var] 呼び出し側が要求するインターフェイスの識別子への参照。
lplpObj : [var] riid で要求したインターフェイスポインタを受け取るポインタ変数のアドレス。正常終了した場合、*ppvObj には新しく作成された埋め込みヘルパー上の要求されたインターフェイスポインタが格納される。

(プラグイン / モジュール : ole32.dll)

解説

OLE デフォルトオブジェクトハンドラの各部分と集約された、アプリケーション提供のコードを用いて OLE
埋め込みヘルパーオブジェクトを作成する。このヘルパーオブジェクトは、呼び出し側が指定する特定のコンテキストおよび役割で作成し使用できる。

[戻り値]
この関数は成功時に S_OK を返す。その他の戻り値には以下が含まれる。
(以下省略)

[備考]
OleCreateEmbeddingHelper
関数は、デフォルトハンドラにあるインターフェイス実装と同じものをサポートするオブジェクトを作成するが、単なるハンドラオブジェクト以上に広く使用できる追加のフックを持っている。次の
2 つの呼び出しは同じ結果を生じる。
(以下省略)

情報

プラグイン / モジュールole32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の ole32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_ole32_gen2.hs