function creates a static object (containing only a representation, with no
native data) from a data transfer object.
| LPDATAOBJECT pSrcDataObj,
||//Data transfer object holding data used to create new object
| REFIID riid,
||//Interface to be used to communicate with the new object
| DWORD renderopt,
||//Value from OLERENDER
| LPFORMATETC pFormatEtc,
||//Depending on renderopt, pointer to value from FORMATETC
| LPOLECLIENTSITE pClientSite,
||//Points to instance of IOleClientSite
| LPSTORAGE pStg,
||//Points to instance of IStorage used to store object
| LPVOID FAR* ppvObj
||//Receives a pointer to the interface requested in riid
Points to the data transfer object that holds the data from which the object
will be created.
Identifies the interface with which the caller is to communicate with the new
object (usually IID_IOleObject
A value from the enumeration OLERENDER
indicating the locally cached drawing or data-retrieval capabilities that the
container wants in the newly created component. It is an error to pass the
render options OLERENDER_NONE or OLERENDER_ASIS to this function.
Depending on which of the OLERENDER
flags is used as the value of renderopt
, may be one of the FORMATETC
enumeration values. Refer to the OLERENDER
enumeration for restrictions.
Points to an instance of IOleClientSite
, the primary interface through which the object will request services from
its container. May be NULL.
Points to an instance of the IStorage
interface to be used as the storage for the object. This parameter may not be
When the function returns successfully, contains a pointer to the interface
requested in riid
on the newly created object.
Indicates that the object was successfully created.
function can convert any object that provides an IDataObject
interface to a static object. It is useful in implementing the Convert To
Picture option for OLE linking or embedding.
Static objects can be created only if the source supports one of the
OLE-rendered clipboard formats: CF_METAFILEPICT, CF_DIB, or CF_ BITMAP, and CF_ENHMF.
Static objects can be pasted from the clipboard using OleCreateStaticFromData
. The OleQueryCreateFromData
function will return OLE_S_STATIC if one of CF_METAFILEPICT, CF_DIB, or
CF_BITMAP is present and an OLE format is not present. But, in that case, the OleCreateFromData
function does not automatically create the static object
if the container will be pasting a static object it should call OleCreateStaticFromData
The new static object is of class CLSID_StaticMetafile (in the case of
CF_METAFILEPICT) and CLSID_StaticDib (in the case of CF_DIB or CF_BITMAP). The static
object sets the OLEMISC_STATIC and OLE_CANTLINKINSIDE bits returned from IOleObject::GetMiscStatus
. The static object will have the aspect DVASPECT_CONTENT and a LINDEX of -1.
is still valid after OleCreateStaticFromData
returns. It is the caller's responsibility to free pDataObject
OLE does not release it.
There cannot be more than one presentation stream in a static object.
conversion functions also convert static objects.
- Software for developers
Software for Android Developers
- More information resources
Unix Manual Pages