Loads into memory an object nested within a specified storage object.
WINOLEAPI OleLoad(
IStorage * pStg, //Pointer to the storage object from which to
// load
REFIID riid, //Reference to the identifier of the interface
IOleClientSite * pClientSite,
//Pointer to the client site for the object
LPVOID * ppvObj //Address of output variable that receives the
// interface pointer requested in riid
);
This function supports the standard return value E_OUTOFMEMORY, as well as the following:
This function can return any of the error values returned by the IPersistStorage::Load method.
OLE containers load objects into memory by calling this function. When calling the OleLoad function, the container application passes in a pointer to the open storage object in which the nested object is stored. Typically, the nested object to be loaded is a child storage object to the container's root storage object. Using the OLE information stored with the object, the object handler (usually, the default handler) attempts to load the object. On completion of the OleLoad function, the object is said to be in the loaded state with its object application not running.
Some applications load all of the object's native data. Containers often defer loading the contained objects until required to do so. For example, until an object is scrolled into view and needs to be drawn, it does not need to be loaded.
The OleLoad function performs the following steps:
Windows NT: Use version 3.1 or later.
Windows: Use Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in ole2.h.
Import Library: Included as a resource in ole32.dll.
ReadClassStg, IClassFactory::CreateInstance, IPersistStorage::Load