IPersistMemory
The IPersistMemory
interface operates exactly as IPersistStreamInit, except that it allows
the caller to provide a fixed-size memory block (identified with a void
*) as opposed to IPersistStreamInit which involves an arbitrarily
expandable IStream.
The cbSize
argument to the Load and Save methods indicate the amount of
memory accessible through pvMem.
The IsDirty,
GetSizeMax, and InitNew methods are semantically and syntactically
identical to those in IPersistStreamInit. Only Load and Save
differ.
When to Implement
An object
implements this interface to save itself in memory.
When to Use
A container
calls the methods of this interface to instruct an object to save and load
itself in memory.
Methods in Vtable Order
IUnknown Methods |
Description |
QueryInterface |
Returns
pointers to supported interfaces. |
AddRef |
Increments
reference count. |
Release |
Decrements
reference count. |
IPersist Method |
Description |
GetClassID |
Returns the
class identifier (CLSID) for the component object. |
IPersistMemory
Methods |
Description |
IsDirty |
Checks the
object for changes since it was last saved. |
Load |
Initializes
an object from the memory block where it was previously saved. |
Save |
Saves an
object into the specified memory block and indicates whether the object
should reset its dirty flag. |
GetSizeMax |
Returns the
size in bytes of the memory block needed to save the object. |
InitNew |
Initializes
an object to a default state. |