Initializes a newly created object with data from a specified data object, which can reside either in the same container or on the Clipboard.
HRESULT InitFromData(
IDataObject *pDataObject, //Pointer to data object
BOOL fCreation, //Specifies how object is created
DWORD dwReserved //Reserved
);
This method enables a container document to insert within itself a new object whose content is based on a current data selection within the container. For example, a spreadsheet document may want to create a graph object based on data in a selected range of cells.
Using this method, a container can also replace the contents of an embedded object with data transferred from another source. This provides a convenient way of updating an embedded object.
Following initialization, the container should call IOleObject::GetMiscStatus to check the value of the OLEMISC_INSERTNOTREPLACE bit. If the bit is on, the new object inserts itself following the selected data. If the bit is off, the new object replaces the selected data.
A container specifies whether to base a new object on the current selection by passing either TRUE or FALSE to the fCreation parameter.
If fCreation is TRUE, the container is attempting to create a new instance of an object, initializing it with the selected data specified by the data object.
If fCreation is FALSE, the caller is attempting to replace the object's current contents with that pointed to by pDataObject. The usual constraints that apply to an object during a paste operation should be applied here. For example, if the type of the data provided is unacceptable, the object should fail to initialize and return S_FALSE.
If the object returns S_FALSE, it cannot initialize itself from the provided data.
Windows NT: Use version 3.1 or later.
Windows: Use Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in oleidl.h.
IOleObject::GetMiscStatus, IDataObject::SetData