IPersistFile::IsDirty
Checks an
object for changes since it was last saved to its current file.
HRESULT
IsDirty(void);
Return Values
S_OK
The object
has changed since it was last saved.
S_FALSE
The object
has not changed since the last save.
Remarks
This method
checks whether an object has changed since it was last saved. Call it to
determine whether an object should be saved before closing it. The dirty flag
for an object is conditionally cleared in the IPersistFile::Save
Notes to Callers
OLE does not
call IPersistFile::IsDirty. Applications would not call it unless they
are also saving an object to a file.
You should
treat any error return codes as an indication that the object has changed.
Unless this method explicitly returns S_FALSE, assume that the object must be
saved.
Notes to Implementers
An object
with no contained objects simply checks its dirty flag to return the appropriate
result.
A container
with one or more contained objects must maintain an internal dirty flag that is
set when any of its contained objects has changed since it was last saved. To
do this, the container should maintain an advise sink by implementing the IAdviseSink
The container
can clear its dirty flag whenever it is saved, as long as the file to which the
object is saved is the current working file after the save. Therefore, the
dirty flag would be cleared after a successful Save or Save As operation,
but not after a Save A Copy As . . . operation.
See Also