OleConvertOLESTREAMToIStorage

指定されたオブジェクトを、表示データを指定せずに 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
URLhttps://github.com/inovia/IronHSP
備考Win32 API の ole32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_ole32_gen2.hs