|
OleSave
Saves an object opened in transacted mode into the specified storage object.
HRESULT OleSave(
IPersistStorage * pPS,
| //Points to the object to be saved
| IStorage * pStg,
| //Points to the destination storage to which pPS is saved
| BOOL fSameAsLoad
| //Indicates whether the object was loaded from pstg or not
| );
|
|
Parameters
pPS
Points to the object to be saved.
pStg
Points to the destination storage object to which pPS is to be saved.
fSameAsLoad
TRUE indicates that pStg is the same storage object from which the object was loaded or created; FALSE
indicates that pstg was loaded or created from a different storage object.
Return Values
S_OK
Indicates the object was successfully saved.
STG_E_MEDIUMFULL
Indicates the object could not be saved due to lack of disk space.
See also the IPersistStorage::Save method for other error return values.
Comments
The OleSave helper function handles the common scenario in which an object is open in
transacted mode and is to be saved into the specified storage object which uses
the OLE-provided compound file implementation. Other scenarios can be handled
with the IPersistStorage and IStorage interfaces directly.
The OleSave function does the following:
- Calls the IPersistStorage::GetClassID method to get the CLSID.
- Writes the CLSID to the storage object using the WriteClassStg function.
- Calls the IPersistStorage::Save method to save the object.
- If there were no errors on the save; calls the IPersistStorage::Commit method to commit the changes.
Note Static objects are saved into a stream called CONTENTS. Static metafile
objects get saved in "placeable metafile format" and static DIB data gets saved in
"DIB file format." These formats are defined to be the OLE standards for
metafile and DIB. All data transferred using an IStream interface or a file (that is; via IDataObject::GetDataHere) must be in these formats. Also; all objects whose default file format is a
metafile or DIB must write their data into a CONTENTS stream using these
standard formats.
See Also
IStorage, IPersistStorage
Related LinksSoftware for Delphi and C++ Builder developers Software for Visual Studio .NET developers Software for Visual Basic 6 developers Delphi Tips&Tricks
MegaDetailed.NET
TMS Scripter Studio Pro components for Delphi/C++Builder
More Online Helps Win32 Programmer's Reference (win32.hlp) Win32 Multimedia Programmer's Reference (mmedia.hlp) Microsoft Windows Pen API Programmer's Reference (penapi.hlp) Microsoft Windows Sockets 2 Reference (sock2.hlp) Microsoft Windows Telephony API (TAPI) Programmer's Reference (sock2.hlp) Unix Manual Pages
|