STGMEDIUM
The STGMEDIUM structure is a generalized global memory handle used for
data transfer operations by the IAdviseSink,
IDataObject, and IOleCache interfaces.
typedef struct tagSTGMEDIUM
{
DWORD tymed;
[switch_type(DWORD), switch_is((DWORD) tymed)]
union {
[case(TYMED_GDI)] HBITMAP hBitmap;
[case(TYMED_MFPICT)] HMETAFILEPICT hMetafilePict;
[case(TYMED_ENHMF)] HENHMETAFILE hEnhMetaFile;
[case(TYMED_HGLOBAL)] HGLOBAL hGlobal;
[case(TYMED_FILE)] LPWSTR lpszFileName;
[case(TYMED_ISTREAM)] IStream *pstm;
[case(TYMED_ISTORAGE)] IStorage *pstg;
[default] ;
};
[unique] IUnknown *pUnkForRelease;
}STGMEDIUM;
typedef STGMEDIUM *LPSTGMEDIUM;
Members
-
tymed
-
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.
-
union member
-
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:
-
hBitmap
-
Bitmap handle. The tymed member is TYMED_GDI.
-
hMetafilePict
-
Metafile handle. The tymed member is TYMED_MFPICT.
-
hEnhMetaFile
-
Enhanced metafile handle. The tymed member is TYMED_ENHMF.
-
hGlobal
-
Global memory handle. The tymed member is TYMED_HGLOBAL.
-
lpszFileName
-
Pointer to the path of a disk file that contains the data. The tymed
member is TYMED_FILE.
-
pstm
-
Pointer to an IStream interface. The tymed member
is TYMED_ISTREAM.
-
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.
See Also
FORMATETC, IAdviseSink,
IDataObject,
IOleCache,
ReleaseStgMedium