IDataObject.GetCanonicalFormatEtc Method

Retrieves a pointer to a standard FORMATETC structure that is logically equivalent to, but not necessarily equal to, the FORMATETC structure that is referenced by the a parameter.

Namespace:  Microsoft.Aspnet.Snapin
Assembly:  AspNetMMCExt (in AspNetMMCExt.dll)

int GetCanonicalFormatEtc(
	IntPtr a,
	IntPtr b


Type: System.IntPtr

A pointer to the FORMATETC defining the format, medium, and target device for calls to retrieve data.

Type: System.IntPtr

An output pointer to a FORMATETC containing the most general information possible for a specific rendering.


null, if the GetCanonicalFormatEtc method returns DATA_S_SAMEFORMATETC.

Return Value

Type: System.Int32
The GetCanonicalFormatEtc method supports the standard return values E_INVALIDARG, E_UNEXPECTED, and E_OUTOFMEMORY, as well as the following return values:

Return value



The returned FORMATETC is different from the structure passed in the parameters.


The returned FORMATETC is the same as the structure passed in the parameters and null is returned in b.


lindex is not valid.


a is not valid.


The object application is not running.

The GetCanonicalFormatEtc method allows the implementer of the IDataObject interface to return a canonical FORMATETC structure without duplicating the rendering logic for the FORMATETC structure.

For more information about programming with the IDataObject interface and the Microsoft Management Console (MMC), see the "MMC Programmer's Guide" in the MSDN Library.

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.