Contents Previous Page Next Page
IPersistMemory

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.