TYMED  2PUTYHP

The TYMED enumeration values indicate the type of storage medium being used in a data transfer. They are used in the STGMEDIUM0NJIOV or FORMATETC8CSQ18 structures.

typedef [transmit_as(long)] enum tagTYMED

    TYMED_HGLOBAL     = 1;

    TYMED_FILE        = 2;

    TYMED_ISTREAM     = 4;

    TYMED_ISTORAGE    = 8;

    TYMED_GDI         = 16;

    TYMED_MFPICT      = 32;

    TYMED_ENHMF       = 64;

    TYMED_NULL        = 0

} TYMED;

 

Elements

TYMED_HGLOBAL

The storage medium is a global memory handle (HGLOBAL). Allocate the global handle with the GMEM_SHARE flag. If the STGMEDIUM0NJIOV punkForRelease member is NULL, the destination process should use GlobalFree to release the memory.

TYMED_FILE

The storage medium is a disk file identified by a path. If the STGMEDIUM punkForRelease member is NULL, the destination process should use OpenFile to delete the file.

TYMED_ISTREAM

The storage medium is a stream object identified by an IStream8MD3QE pointer. Use IStream::Read4QE_N8 to read the data. If the STGMEDIUM0NJIOV punkForRelease member is NULL, the destination process should use IStream::Release to release the stream component.

TYMED_ISTORAGE

The storage medium is a storage component identified by an IStorageFS1VT1 pointer. The data is in the streams and storages contained by this IStorage instance. If the STGMEDIUM punkForRelease member is NULL, the destination process should use IStorage::Release to release the storage component.

TYMED_GDI

The storage medium is a GDI component (HBITMAP). If the STGMEDIUM0NJIOV punkForRelease member is NULL, the destination process should use DeleteObject to delete the bitmap.

TYMED_MFPICT

The storage medium is a metafile (HMETAFILE). Use the Windows or WIN32 functions to access the metafile s data. If the STGMEDIUM punkForRelease member is NULL, the destination process should use DeleteMetaFile to delete the bitmap.

TYMED_ENHMF

The storage medium is an enhanced metafile. If the STGMEDIUM0NJIOV punkForRelease member is NULL, the destination process should use DeleteEnhMetaFile to delete the bitmap.

TYMED_NULL

No data is being passed.

 

Remarks

During data transfer operations, a storage medium is specified. This medium must be released after the data transfer operation. The provider of the medium indicates its choice of ownership scenarios in the value it provides in the STGMEDIUM0NJIOV structure. A NULL value for the IUNKNOWN field indicates that the receiving body of code owns and can free the medium. A non-NULL pointer specifies that ReleaseStgMedium241HHUG can always be called to free the medium.

See Also

FORMATETC, IAdviseSink, IDataObject, IOleCache, ReleaseStgMedium, STGMEDIUM