uSTGMEDIUM structure (objidl.h)

Represents a generalized global memory handle used for data transfer operations by the IAdviseSink, IDataObject, and IOleCache interfaces.

Syntax

typedef struct tagSTGMEDIUM {
  DWORD    tymed;
  union {
    HBITMAP       hBitmap;
    HMETAFILEPICT hMetaFilePict;
    HENHMETAFILE  hEnhMetaFile;
    HGLOBAL       hGlobal;
    LPOLESTR      lpszFileName;
    IStream       *pstm;
    IStorage      *pstg;
  } DUMMYUNIONNAME;
  IUnknown *pUnkForRelease;
} uSTGMEDIUM;

Members

tymed

The type of storage medium. The marshaling and unmarshaling routines use this value to determine which union member was used. This value must be one of the elements of the TYMED enumeration.

DUMMYUNIONNAME

Handle, string, or interface pointer that the receiving process can use to access the data being transferred. If tymed is TYMED_NULL, the union member is undefined; otherwise, it is one of the following values.

DUMMYUNIONNAME.hBitmap

Bitmap handle. The tymed member is TYMED_GDI.

DUMMYUNIONNAME.hMetaFilePict

Metafile handle. The tymed member is TYMED_MFPICT.

DUMMYUNIONNAME.hEnhMetaFile

Enhanced metafile handle. The tymed member is TYMED_ENHMF.

DUMMYUNIONNAME.hGlobal

Global memory handle. The tymed member is TYMED_HGLOBAL.

DUMMYUNIONNAME.lpszFileName

Pointer to the path of a disk file that contains the data. The tymed member is TYMED_FILE.

DUMMYUNIONNAME.pstm

Pointer to an IStream interface. The tymed member is TYMED_ISTREAM.

DUMMYUNIONNAME.pstg

Pointer to an IStorage interface. The tymed member is TYMED_ISTORAGE.

pUnkForRelease

Pointer to an interface instance that allows the sending process to control the way the storage is released when the receiving process calls the ReleaseStgMedium function. If pUnkForRelease is NULL, ReleaseStgMedium uses default procedures to release the storage; otherwise, ReleaseStgMedium uses the specified IUnknown interface.

Requirements

Requirement Value
Minimum supported client Windows 10 Build 20348
Minimum supported server Windows 10 Build 20348
Header objidl.h

See also

FORMATETC

IAdviseSink

IDataObject

IOleCache

ReleaseStgMedium