OleCreateLinkFromDataEx

OleCreateLinkFromData が単一の形式しかサポートしないのに対し、複数の表示形式またはデータのキャッシュを必要とするコンテナ内でのオブジェクトのより効率的なインスタンス化をサポートすることで、OleCreateLinkFromData の機能を拡張する。

OleCreateLinkFromDataEx pSrcDataObj, riid, dwFlags, renderopt, cFormats, rgAdvf, rgFormatEtc, lpAdviseSink, rgdwConnection, pClientSite, pStg, ppvObj

pSrcDataObj : [var] リンクオブジェクトを作成する対象のデータオブジェクトへのポインタ。
riid : [var] 返すオブジェクトのインターフェイスの識別子への参照。
dwFlags : [int] このパラメータは 0 または OLECREATE_LEAVERUNNING(0x00000001)である。
renderopt : [int] OLERENDER 列挙から取る値。
cFormats : [int] renderopt が OLERENDER_FORMAT の場合、rgFormatEtc 配列内の FORMATETC 構造体の数を示す。1 以上でなければならない。それ以外の場合、このパラメータは 0 でなければならない。
rgAdvf : [var] renderopt が OLERENDER_FORMAT の場合、DWORD 要素の配列を指す。各要素は ADVF 列挙の値の組み合わせである。この配列の各要素は、pAdviseSink が NULL かどうかに応じて、IOleCache::Cache または IDataObject::DAdvise の呼び出しに advf パラメータとして渡される(後述)。それ以外の場合、このパラメータは NULL でなければならない。
rgFormatEtc : [var] renderopt が OLERENDER_FORMAT の場合、FORMATETC 構造体の配列を指す。pAdviseSink が NULL の場合、この配列の各要素はオブジェクトの IOleCache::Cache の呼び出しに pFormatEtc パラメータとして渡される。これにより、オブジェクトのインプロセスハンドラ(通常はデフォルトハンドラ)が管理するデータおよび表示キャッシュが、表示データやその他のキャッシュ可能なデータで満たされる。pAdviseSink が NULL でない場合、この配列の各要素は IDataObject::DAdvise の呼び出しに pFormatEtc パラメータとして渡される。これにより呼び出し側(通常は OLE コンテナ)は、オブジェクトから受信したデータを独自にキャッシュまたは処理できるようになる。
lpAdviseSink : [var] renderopt が OLERENDER_FORMAT の場合、有効な IAdviseSink ポインタ(データアドバイスのカスタムキャッシュまたは処理を示す)または NULL(データ形式のデフォルトキャッシュを示す)のいずれかを指定できる。
rgdwConnection : [var] IDataObject::DAdvise を使用して各アドバイザリ接続に対して pAdviseSink インターフェイスが登録されたときに返される dwConnection 値の配列を返す場所。返されたアドバイザリ接続が不要な場合は NULL。pAdviseSink が NULL の場合は NULL でなければならない。
pClientSite : [var] オブジェクトがコンテナからサービスを要求するための主要インターフェイスへのポインタ。このパラメータには NULL を指定できる。その場合、呼び出し側は可能な限り早く IOleObject::SetClientSite を使用してクライアントサイトを確立する責任を負う。
pStg : [var] オブジェクトおよびそれに対して確立されるデフォルトのデータまたは表示キャッシュに使用するストレージへのポインタ。
ppvObj : [var] riid で要求したインターフェイスポインタを受け取る出力ポインタ変数のアドレス。正常終了した場合、*ppvObj には新しく作成されたオブジェクト上の要求されたインターフェイスポインタが格納される。

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

解説

OleCreateLinkFromData
が単一の形式しかサポートしないのに対し、複数の表示形式またはデータのキャッシュを必要とするコンテナ内でのオブジェクトのより効率的なインスタンス化をサポートすることで、OleCreateLinkFromData
の機能を拡張する。

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

[備考]
以下の OleCreateLinkFromData の呼び出し。
(以下省略)

情報

プラグイン / モジュール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