Partager via


IPersistStreamInit::Load (Windows CE 5.0)

Send Feedback

This method initializes an object from the stream where it was previously saved.

HRESULT Load(LPSTREAM pStm);

Parameters

  • 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 IPersistStreamInit::Save method. This method can seek and read from the stream, but cannot write to it.

On exit, the seek pointer should be left in the same position as it was on exit from Save, immediately past the end of the data.

To determine whether the platform supports this interface, see Determining Supported COM APIs.

Notes to Callers

Rather than calling IPersistStreamInit::Load directly, you typically call the OleLoadFromStream function, which does the following:

  1. Calls the ReadClassStm function to get the class identifier from the stream.
  2. Calls the CoCreateInstance function to create an instance of the object.
  3. Queries the instance for IPersistStreamInit.
  4. Calls IPersistStreamInit::Load.

The OleLoadFromStream 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.

Notes to Implementers

If the object has already been initialized with InitNew, then this method must return E_UNEXPECTED.

Requirements

OS Versions: Windows CE 3.0 and later.
Header: Ocidl.h, Ocidl.idl.
Link Library: Ole32.lib, Uuid.lib.

See Also

CoCreateInstance | OleLoadFromStream | ReadClassStm

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.