Saves a copy of the object to the specified file.
HRESULT Save( LPCOLESTR pszFileName, BOOL fRemember );
The absolute path of the file to which the object should be saved. If pszFileName is NULL, the object should save its data to the current file, if there is one.
Indicates whether the pszFileName parameter is to be used as the current working file. If TRUE, pszFileName becomes the current file and the object should clear its dirty flag after the save. If FALSE, this save operation is a Save A Copy As ... operation. In this case, the current file is unchanged and the object should not clear its dirty flag. If pszFileName is NULL, the implementation should ignore the fRemember flag.
If the object was successfully saved, the return value is S_OK. Otherwise, it is S_FALSE. This method can also return various storage errors.
This method can be called to save an object to the specified file in one of three ways:
The implementer must detect which type of save operation the caller is requesting. If the pszFileName parameter is NULL, a Save is being requested. If the pszFileName parameter is not NULL, use the value of the fRemember parameter to distinguish between a Save As and a Save a Copy As.
In Save or Save As operations, IPersistFile::Save clears the internal dirty flag after the save and sends IAdviseSink::OnSave notifications to any advisory connections (see also IOleAdviseHolder::SendOnSave). Also, in these operations, the object is in NoScribble mode until it receives an IPersistFile::SaveCompleted call. In NoScribble mode, the object must not write to the file.
In the Save a Copy As scenario, the implementation does not clear the internal dirty flag after the save.
|Minimum supported client||Windows 2000 Professional [desktop apps only]|
|Minimum supported server||Windows 2000 Server [desktop apps only]|