IPersistStream::Load  1M.GML3

Initializes an object from the stream where it was previously saved.

HRESULT Load(

    IStream *pStm

//Pointer to the stream from which the object should be loaded

   );

 

 

Parameter

pStm

[in]IStream pointer to the stream from which the object should be loaded.

 

Return Values

S_OK

The object was successfully loaded.

E_OUTOFMEMORY

The object was not loaded due to a lack of memory.

E_FAIL

The object was not loaded due to some reason other than a lack of memory.

 

Remarks

This method loads an object from its associated stream. The seek pointer is set as it was in the most recent IPersistStream::Save5_V3OT method. This method can seek and read from the stream, but cannot write to it.

On exit, the seek pointer must be in the same position it was in on entry, immediately past the end of the data.

Notes to Callers

Rather than calling IPersistStream::Load directly, you typically call the OleLoadFromStream1GLU_U6 function does the following:

  1.  Calls the ReadClassStmELT04V function to get the class identifier from the stream.

  2.  Calls the CoCreateInstance1HJJJY4 function to create an instance of the object.

  3.  Queries the instance for IPersistStream4KTV_NZ.

  4.  Calls IPersistStream::Load.

 

The OleLoadFromStream1GLU_U6 function assumes that objects are stored in the stream with a class identifier followed by the object data. This storage pattern is used by the generic, composite-moniker implementation provided by OLE.

If the objects are not stored using this pattern, you must call the methods separately yourself.

See Also

CoCreateInstance, OleLoadFromStream, ReadClassStm