STGMEDIUM
The STGMEDIUM
structure is a generalized global memory handle used for data transfer
operations by the IAdviseSink
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
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
pstg
Pointer to an
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
See Also