# OleConvertOLESTREAMToIStorageEx

Converts the specified object from the OLE 1 storage model to an OLE 2 structured storage object including presentation data. This is one of several compatibility functions.

WINOLEAPI OleConvertOLESTREAMToIStorageEx(

LPOLESTREAM lpolestm, | //Pointer to the stream where the OLE1 storage is written
IStorage * pstg, | //Pointer to OLE 2 storage object
CLIPFORMAT * pcfFormat, | //Pointer to presentation data
LONG * plWidth, | //Points to width value
LONG * plHeight, | //Pointer to height value
DWORD * pdwSize, | //Pointer to size
STGMEDIUM pmedium | //Pointer to the structure
); |

Parameters

lpolestm
  [in] Pointer to the stream that contains the persistent representation of the object in the OLE 1 storage format.
pstg
  [out] Pointer to the OLE 2 structured storage object.
pcfFormat
  [out] Pointer to where the format of the presentation data is returned. May be NULL, indicating the absence of presentation data.
plWidth
  [out] Pointer to where the width value (in HIMETRIC) of the presentation data is returned.
plHeight
  [out] Pointer to where the height value (in HIMETRIC) of the presentation data is returned.
pdwSize
  [out] Pointer to where the size in bytes of the converted data is returned.
pmedium
  [out] Pointer to where the STGMEDIUM structure for the converted serialized data is returned.

Return Values

S_OK
  The conversion was completed successfully.
DV_E_TYMED|
  Value of the tymed member of STGMEDIUM is not TYMED_ISTREAM or TYMED_NULL.

Remarks

This function converts an OLE 1 object to an OLE 2 structured storage object. You can use this function to update OLE 1 objects to OLE 2 objects when a new version of the object application supports OLE 2.

This function differs from the OleConvertOLESTREAMToIStorage function in that the presentation data read from the OLESTREAM structure is passed out and the newly created OLE 2 storage object does not contain a presentation stream.

Since this function can specify which presentation data to convert, it can be used by applications that do not use OLE’s default caching resources but do use the conversion resources.

The tymed member of STGMEDIUM can only be TYMED_NULL or TYMED_ISTREAM. If it is TYMED_NULL, the data will be returned in a global handle through the hGlobal member of STGMEDIUM, otherwise data will be written into the pstm member of this structure.

See Also

CoIsOle1Class, OleConvertIStorageToOLESTREAM, OleConvertIStorageToOLESTREAMEx, OleConvertOLESTREAMToIStorage , STGMEDIUM structure, TYMED enumeration