Edit

Share via


TYMED enumeration (objidl.h)

Indicates the type of storage medium being used in a data transfer. They are used in the STGMEDIUM or FORMATETC structures.

Syntax

typedef 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;

Constants

 
TYMED_HGLOBAL
Value: 1
The storage medium is a global memory handle (HGLOBAL). Allocate the global handle with the GMEM_MOVEABLE flag. If the punkForRelease member of STGMEDIUM is NULL, the destination process should use GlobalFree to release the memory.
TYMED_FILE
Value: 2
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
Value: 4
The storage medium is a stream object identified by an IStream pointer. Use ISequentialStream::Read to read the data. If the STGMEDIUM punkForRelease member is not NULL, the destination process should use Release to release the stream component.
TYMED_ISTORAGE
Value: 8
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 not NULL, the destination process should use Release to release the storage component.
TYMED_GDI
Value: 16
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
Value: 32
The storage medium is a metafile (METAFILEPICT). Use the GDI 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
Value: 64
The storage medium is an enhanced metafile (HENHMETAFILE). If the STGMEDIUM punkForRelease member is NULL, the destination process should use DeleteEnhMetaFile to delete the bitmap.
TYMED_NULL
Value: 0
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 pUnkForRelease member 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.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Header objidl.h

See also

FORMATETC

IAdviseSink

IDataObject

IOleCache

ReleaseStgMedium

STGMEDIUM