Saves a copy of the object into the specified file.
HRESULT Save(
LPCOLESTR pszFileName, //Pointer to absolute path of the file
//where the object is saved
BOOL fRemember //Specifies whether the file is to be the
//current working file or not
);
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 As" scenario, the implementation should also send IAdviseSink::OnRename notifications to any advisory connections (see also IOleAdviseHolder::SendOnRename).
In the "Save a Copy As" scenario, the implementation does not clear the internal dirty flag after the save.
OLE does not call IPersistFile::Save. Typically, applications would not call it unless they are saving an object to a file directly, which is generally left to the end-user.
Windows NT: Use version 3.1 or later.
Windows: Use Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in objidl.h.
IOleAdviseHolder::SendOnRename, IOleAdviseHolder::SendOnSave, IPersistFile::GetCurFile, IPersistFile::SaveCompleted