ClipboardObject.IDataObject.GetCanonicalFormatEtc 方法

提供一个在逻辑上与更复杂的结构等效的标准 FORMATETC 结构。 使用此方法来确定两个 FORMATETC 是否不同结构返回同一数据,将复制呈现的需要。

命名空间:  Microsoft.VisualStudio.Data.Framework
程序集:  Microsoft.VisualStudio.Data.Framework(在 Microsoft.VisualStudio.Data.Framework.dll 中)

语法

声明
Private Function GetCanonicalFormatEtc ( _
    pformatectIn As FORMATETC(), _
    pformatetcOut As FORMATETC() _
) As Integer Implements IDataObject.GetCanonicalFormatEtc
int IDataObject.GetCanonicalFormatEtc(
    FORMATETC[] pformatectIn,
    FORMATETC[] pformatetcOut
)
private:
virtual int GetCanonicalFormatEtc(
    array<FORMATETC>^ pformatectIn, 
    array<FORMATETC>^ pformatetcOut
) sealed = IDataObject::GetCanonicalFormatEtc
private abstract GetCanonicalFormatEtc : 
        pformatectIn:FORMATETC[] * 
        pformatetcOut:FORMATETC[] -> int  
private override GetCanonicalFormatEtc : 
        pformatectIn:FORMATETC[] * 
        pformatetcOut:FORMATETC[] -> int
JScript 不支持显式接口实现。

参数

  • pformatectIn
    类型:array<FORMATETC[]

    FORMATETC 结构的引用,通过引用传递,则定义格式、媒体和目标设备调用方希望使用检索在随后调用的数据,如 IDataObject.GetData。 在此情况下,tymed 成员并无意义,应将其忽略。

  • pformatetcOut
    类型:array<FORMATETC[]

    此方法返回时,包含指向 FORMATETC 结构的指针(该结构中包含可能用于特定呈现的最常规信息),使其规范地等效于 pformatectIn。 调用方必须分配此结构,并且 GetCanonicalFormatEtc 方法必须填充数据。 检索中随后调用的数据,如 IDataObject.GetData,调用方使用所提供的 pformatetcOut值,因此,除非所提供的值为 nullnull 引用(在 Visual Basic 中为 Nothing)。 如果方法返回 DATA_S_SAMEFORMATETC,此值为 null。 在此情况下,tymed 成员并无意义,应将其忽略。 该参数未经初始化即被传递。

返回值

类型:Int32
此方法返回值支持标准 E_INVALIDARG、E_FAIL、E_UNEXPECTED和 E_OUTOFMEMORY,以及以下操作:

说明

S_OK

返回的 FORMATETC 结构与传递的一个不同。

DATA_S_SAMEFORMATETC

FORMATETC 的结构相同,因此 null 引用返回 pformatetcOut 参数。

DV_E_LINDEX

lindex 有一个无效值;当前,只支持 -1。

DV_E_FORMATETC

pformatectIn 参数有一个无效值。

OLE_E_NOTRUNNING

应用程序未运行。

实现

IDataObject.GetCanonicalFormatEtc(FORMATETC, FORMATETC)

备注

如果剪贴板对象包装现有的 IDataObject (从 Microsoft.VisualStudio.OLE.Interop 命名空间),此方法将调用委托给对应的 GetCanonicalFormatEtc 调用该命名空间。 否则,如果剪贴板,对象可能本身来包装现有 IDataObject,它尝试将对来自 System.Runtime.InteropServices.ComTypes 命名空间的 GetCanonicalFormatEtc

.NET Framework 安全性

请参阅

参考

ClipboardObject 类

Microsoft.VisualStudio.Data.Framework 命名空间