指定されたオブジェクトを、表示データを指定せずに OLE 1 ストレージモデルから OLE 2 構造化ストレージオブジェクトに変換する。
OleConvertOLESTREAMToIStorage lpolestream, pstg, ptd
lpolestream : [var] OLE 1 ストレージ形式でのオブジェクトの永続的表現を含むストリームへのポインタ。 pstg : [var] OLE 2 構造化ストレージオブジェクト上の IStorage インターフェイスへのポインタ。 ptd : [var] OLE 1 オブジェクトがレンダリングされる対象デバイスを指定する DVTARGETDEVICE 構造体へのポインタ。
(プラグイン / モジュール : ole32.dll)
指定されたオブジェクトを、表示データを指定せずに OLE 1 ストレージモデルから OLE 2 構造化ストレージオブジェクトに変換する。 [戻り値] この関数は標準の戻り値 E_INVALIDARG に加えて以下をサポートする。 [備考] この関数は OLE 1 オブジェクトを OLE 2 構造化ストレージオブジェクトに変換する。オブジェクトアプリケーションの新しいバージョンが OLE 2 をサポートする場合に、OLE 1 オブジェクトを OLE 2 オブジェクトに更新するためにこの関数を使用する。関数開始時、lpolestm パラメータは OleLoadFromStream 関数呼び出し用に作成され、位置決めされている必要がある。関数終了時、lpolestm パラメータは OleLoadFromStream 終了時と同じように位置決めされ、pstg パラメータには OLE 2 ストレージオブジェクトのコミットされていない永続的表現が格納される。表示にネイティブデータを使用する OLE 1 オブジェクトの場合、OleConvertOLESTREAMToIStorage 関数は CONVERT10_S_NO_PRESENTATION を返す。この戻り値を受け取った呼び出し側は IOleObject::Update を呼び出して表示データを取得し、それをストレージに書き込むようにすべきである。OLE のデフォルトのキャッシュ機能を使用せず、変換機能だけを使用するアプリケーションは、代替関数 OleConvertOLESTREAMToIStorageEx を使用することができ、こちらでは変換する表示データを指定できる。OleConvertOLESTREAMToIStorageEx 関数では、OLESTREAM 構造体から読み取られた表示データが渡され、新しく作成された OLE 2 ストレージオブジェクトには表示ストリームが含まれない。次の手順は、OleConvertOLESTREAMToIStorage を使用した変換処理を示している。OLE 1 オブジェクトを OLE 2 ストレージオブジェクトに変換する (以下省略)
| プラグイン / モジュール | 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 |