OleSave 関数 (ole2.h)
トランザクション モードで開かれたオブジェクトを、指定したストレージ オブジェクトに保存します。
構文
HRESULT OleSave(
[in] LPPERSISTSTORAGE pPS,
[in] LPSTORAGE pStg,
[in] BOOL fSameAsLoad
);
パラメーター
[in] pPS
保存するオブジェクトの IPersistStorage インターフェイスへのポインター。
[in] pStg
pPS で示されたオブジェクトを保存する宛先ストレージ オブジェクト上の IStorage インターフェイスへのポインター。
[in] fSameAsLoad
TRUE は 、 pStg がオブジェクトの読み込み元または作成元のストレージ オブジェクトと同じであることを示します。 FALSE は 、 pStg が読み込まれたか、別のストレージ オブジェクトから作成されたことを示します。
戻り値
この関数は、成功したS_OKを返します。 その他の可能な値は次のとおりです。
リターン コード | 説明 |
---|---|
|
ディスク領域がないため、オブジェクトを保存できませんでした。
この関数は、 IPersistStorage::Save メソッドによって返されるエラー値を返すこともできます。 |
注釈
OleSave ヘルパー関数は、オブジェクトがトランザクション モードで開き、OLE 提供の複合ファイルの実装を使用する指定されたストレージ オブジェクトに保存される一般的な状況を処理します。 トランザクション モードは、IStorage::Commit または IStorage::Revert のいずれかが呼び出されるまで、オブジェクトへの変更がバッファーに格納されることを意味します。 呼び出し元は、 IPersistStorage インターフェイスと IStorage インターフェイスを直接呼び出すことで、他の状況を処理できます。
OleSave は次の処理を行います。
- IPersist::GetClassID メソッドを呼び出して、オブジェクトの CLSID を取得します。
- WriteClassStg 関数を使用して、ストレージ オブジェクトに CLSID を書き込 みます。
- IPersistStorage::Save メソッドを呼び出してオブジェクトを保存します。
- 保存にエラーが発生しなかった場合。 は IStorage::Commit メソッドを呼び出して変更をコミットします。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | ole2.h |
Library | Ole32.lib |
[DLL] | Ole32.dll |
API セット | ext-ms-win-com-ole32-l1-1-3 (Windows 10 バージョン 10.0.10240 で導入) |