TYMED
The TYMED enumeration values indicate the type of storage medium being
used in a data transfer. They are used in the
STGMEDIUM or FORMATETC
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
STGMEDIUM 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
IStream pointer. Use
IStream::Read to read the data. If the
STGMEDIUM 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
IStorage 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
STGMEDIUM 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
STGMEDIUM 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
STGMEDIUM 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
ReleaseStgMedium can always be called to
free the medium.
See Also
FORMATETC, IAdviseSink,
IDataObject,
IOleCache,
ReleaseStgMedium,
STGMEDIUM