# OleLoadFromStream

Loads an object from the stream.

WINOLEAPI OleLoadFromStream(

IStream * pStm, | //Pointer to stream from which object is to be loaded
REFIID iidInterface, | //Interface identifier
void ** ppvObj | //Indirect pointer to the newly loaded object
); |

Parameters

pStm
  [in] Pointer to the IStream interface on the stream from which the object is to be loaded.
iidInterface
  [in] Interface identifier (IID) the caller wants to use to communicate with the object once it is loaded.
ppvObj
  [out] On successful return, indirect pointer to the interface requested in iidInterface on the newly loaded object.

Return Values

This function supports the standard return value E_OUTOFMEMORY, as well as the following:

S_OK
  The object was successfully loaded.
E_NOINTERFACE
  The specified interface is not supported.

This function can also return any of the error values returned by the ReadClassStm and CoCreateInstance functions, and the IPersistStorage::Load method.

Remarks

This function can be used to load an object that supports the IPersistStream interface. The CLSID of the object must immediately precede the object’s data in the stream, which is accomplished by the companion function OleSaveToStream (or the operations it wraps, which are described under that topic).

If the CLSID for the stream is CLSID_NULL, the ppvObj parameter is set to NULL.

See Also

OleSaveToStream