OleCreateFromFile

OleCreateFromFile 関数(ole2.h)は、指定されたファイルの内容から埋め込みオブジェクトを作成する。

OleCreateFromFile rclsid, lpszFileName, riid, renderopt, lpFormatEtc, pClientSite, pStg, ppvObj

rclsid : [var] このパラメータは予約済みであり、CLSID_NULL を指定しなければならない。
lpszFileName : [wstr] オブジェクトを初期化するためのファイルの完全なパスを指定する文字列へのポインタ。
riid : [var] 呼び出し側が後に新しいオブジェクトと通信するために使用するインターフェイスの識別子への参照(通常は IID_IOleObject で、これは OLE ヘッダで IOleObject のインターフェイス ID として定義されている)。
renderopt : [int] 新しく作成されるオブジェクトが持つローカルキャッシュによる描画またはデータ取得機能を示す OLERENDER 列挙の値。選択された OLERENDER 値は lpFormatEtc パラメータの取り得る値に影響する。
lpFormatEtc : [var] renderopt の値として使用される OLERENDER フラグに応じて、FORMATETC 列挙値の一つへのポインタ。制限については OLERENDER 列挙も参照。
pClientSite : [var] オブジェクトがコンテナからサービスを要求するための主要インターフェイスである IOleClientSite のインスタンスへのポインタ。このパラメータには NULL を指定できる。
pStg : [var] ストレージオブジェクト上の IStorage インターフェイスへのポインタ。このパラメータに NULL を指定することはできない。
ppvObj : [var] riid で要求したインターフェイスポインタを受け取るポインタ変数のアドレス。正常終了した場合、*ppvObj には新しく作成されたオブジェクト上の要求されたインターフェイスポインタが格納される。

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

解説

OleCreateFromFile 関数(ole2.h)は、指定されたファイルの内容から埋め込みオブジェクトを作成する。

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

[備考]
OleCreateFromFile 関数は、指定されたファイルの内容から新しい埋め込みオブジェクトを作成する。登録データベース内の
ProgID に PackageOnFileDrop キーが含まれている場合、パッケージを作成する。そうでない場合、関数は
GetClassFile 関数を呼び出して lpszFileName パラメータに関連付けられた CLSID を取得し、その CLSID
に関連付けられた OLE 2 埋め込みオブジェクトを作成する。OleCreateFromFile の rclsid
パラメータは常に無視されるので、CLSID_NULL を設定すべきである。他の OleCreateXxx
関数と同様、新しく作成されたオブジェクトはユーザーに編集用には表示されず、編集には DoVerb
操作が必要である。この関数はファイル挿入操作の実装に使用される。

情報

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