IPersistMemory 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.
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.