データ転送オブジェクトから、ネイティブデータを持たず表現のみを含む静的オブジェクトを作成する。
OleCreateStaticFromData pSrcDataObj, iid, renderopt, pFormatEtc, pClientSite, pStg, ppvObj
pSrcDataObj : [var] オブジェクトを作成するためのデータを保持するデータ転送オブジェクト上の IDataObject インターフェイスへのポインタ。 iid : [var] 呼び出し元が新しいオブジェクトと通信するためのインターフェイスの識別子への参照(通常は IID_IOleObject。OLE ヘッダーで IOleObject のインターフェイス識別子として定義されている)。 renderopt : [int] 新しく作成されるコンポーネントにおいて、コンテナがローカルにキャッシュしたい描画またはデータ取得機能を示す OLERENDER 列挙の値。この関数に OLERENDER_NONE または OLERENDER_ASIS を渡すのはエラーとなる。 pFormatEtc : [var] renderopt の値として使用される OLERENDER フラグに応じて、FORMATETC 列挙値の 1 つへのポインタになることがある。制約については OLERENDER 列挙を参照のこと。 pClientSite : [var] IOleClientSite のインスタンスへのポインタ。これはオブジェクトがコンテナからサービスを要求するための主要なインターフェイスである。このパラメータは NULL でもよい。 pStg : [var] オブジェクトのストレージのための IStorage インターフェイスへのポインタ。このパラメータは NULL にできない。 ppvObj : [var] riid で要求されたインターフェイスポインタを受け取るポインタ変数のアドレス。正常終了時、*ppvObj には新しく作成されたオブジェクト上の要求されたインターフェイスポインタが格納される。
(プラグイン / モジュール : ole32.dll)
データ転送オブジェクトから、ネイティブデータを持たず表現のみを含む静的オブジェクトを作成する。 [戻り値] 関数が成功した場合は S_OK を返す。 [備考] OleCreateStaticFromData 関数は、IDataObject インターフェイスを提供している限り、任意のオブジェクトを静的オブジェクトに変換できる。OLE のリンクや埋め込みにおける「Convert To Picture」オプションの実装に有用である。 静的オブジェクトはソースが OLE がレンダリングするクリップボード形式(CF_METAFILEPICT、CF_DIB、CF_BITMAP、CF_ENHMETAFILE)のいずれかをサポートしている場合にのみ作成できる。 OleCreateStaticFromData を呼び出すことでクリップボードから静的オブジェクトを貼り付けることもできる。オブジェクトが静的かどうかを判定するには OleQueryCreateFromData 関数を呼び出す。これは CF_METAFILEPICT、CF_DIB、CF_BITMAP、CF_ENHMETAFILE のいずれかが存在し、OLE 形式が存在しない場合に OLE_S_STATIC を返す。これは、オブジェクトを作成するために OleCreateFromData ではなく OleCreateStaticFromData を呼び出すべきであることを示す。 新しい静的オブジェクトのクラスは、CF_METAFILEPICT の場合は CLSID_StaticMetafile、CF_DIB または CF_BITMAP の場合は CLSID_StaticDib、CF_ENHMETAFILE の場合は CLSID_Picture_EnhMetafile となる。静的オブジェクトは IOleObject::GetMiscStatus が返す OLEMISC_STATIC ビットと OLE_CANTLINKINSIDE ビットを設定する。静的オブジェクトはアスペクト DVASPECT_CONTENT と LINDEX -1 を持つ。pSrcDataObject は OleCreateStaticFromData が戻ったあとも有効である。pSrcDataObject の解放は呼び出し元の責任であり、OLE はこれを解放しない。 静的オブジェクト内のプレゼンテーションストリームは 1 つだけしか持てない。
| プラグイン / モジュール | 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 |