ClipboardObject.IDataObject.GetCanonicalFormatEtc Method

Definition

Provides a standard FORMATETC structure that is logically equivalent to a more complex structure. Use this method to determine whether two different FORMATETC structures return the same data, removing the need for duplicate rendering.

 virtual int System.Runtime.InteropServices.ComTypes.IDataObject.GetCanonicalFormatEtc(System::Runtime::InteropServices::ComTypes::FORMATETC % formatIn, [Runtime::InteropServices::Out] System::Runtime::InteropServices::ComTypes::FORMATETC % formatOut) = System::Runtime::InteropServices::ComTypes::IDataObject::GetCanonicalFormatEtc;
int IDataObject.GetCanonicalFormatEtc (ref System.Runtime.InteropServices.ComTypes.FORMATETC formatIn, out System.Runtime.InteropServices.ComTypes.FORMATETC formatOut);
override this.System.Runtime.InteropServices.ComTypes.IDataObject.GetCanonicalFormatEtc : FORMATETC * FORMATETC -> int
Function GetCanonicalFormatEtc (ByRef formatIn As FORMATETC, ByRef formatOut As FORMATETC) As Integer Implements IDataObject.GetCanonicalFormatEtc

Parameters

formatIn
FORMATETC

A reference to a FORMATETC structure, passed by reference, that defines the format, medium, and target device that the caller would like to use to retrieve data in a subsequent call, such as IDataObject.GetData(FORMATETC, STGMEDIUM). The tymed member is not significant in this case and should be ignored.

formatOut
FORMATETC

When this method returns, this parameter contains a pointer to a FORMATETC structure that contains the most general information possible for a specific rendering, making it canonically equivalent to pformatectIn. The caller must allocate this structure, and the GetCanonicalFormatEtc method must fill in the data. To retrieve data in a subsequent call, such as IDataObject.GetData(FORMATETC, STGMEDIUM), the caller uses the supplied value of pformatetcOut, unless the value supplied is null. This value is null if the method returns DATA_S_SAMEFORMATETC. The tymed member is not significant in this case and should be ignored. This parameter is passed uninitialized.

Returns

This method supports the standard return values E_INVALIDARG, E_UNEXPECTED, and E_OUTOFMEMORY, as well as the following:ValueDescriptionS_OKThe returned FORMATETC structure is different from the one that was passed.DATA_S_SAMEFORMATETCThe FORMATETC structures are the same and a null reference is returned in the formatOut parameter.DV_E_LINDEXThere is an invalid value for lindex; currently, only -1 is supported.DV_E_FORMATETCThere is an invalid value for the formatIn parameter.OLE_E_NOTRUNNINGThe application is not running.

Implements

Applies to