提供一个在逻辑上与更复杂的结构等效的标准 FORMATETC 结构。 使用此方法来确定两个 FORMATETC 是否不同结构返回同一数据,将复制呈现的需要。
命名空间: Microsoft.VisualStudio.Data.Framework
程序集: Microsoft.VisualStudio.Data.Framework(在 Microsoft.VisualStudio.Data.Framework.dll 中)
语法
声明
Private Function GetCanonicalFormatEtc ( _
ByRef formatIn As FORMATETC, _
<OutAttribute> ByRef formatOut As FORMATETC _
) As Integer Implements IDataObject.GetCanonicalFormatEtc
int IDataObject.GetCanonicalFormatEtc(
ref FORMATETC formatIn,
out FORMATETC formatOut
)
private:
virtual int GetCanonicalFormatEtc(
FORMATETC% formatIn,
[OutAttribute] FORMATETC% formatOut
) sealed = IDataObject::GetCanonicalFormatEtc
private abstract GetCanonicalFormatEtc :
formatIn:FORMATETC byref *
formatOut:FORMATETC byref -> int
private override GetCanonicalFormatEtc :
formatIn:FORMATETC byref *
formatOut:FORMATETC byref -> int
JScript 不支持显式接口实现。
参数
formatIn
类型:FORMATETC%对 FORMATETC 结构的引用,通过引用传递,则定义格式、媒体和目标设备调用方希望使用检索在随后调用的数据,如 IDataObject.GetData。 在此情况下,tymed 成员并无意义,应将其忽略。
formatOut
类型:FORMATETC%当此方法返回时,此参数包含一个指针。包含一般信息能用于特定呈现的 FORMATETC 结构,使得规范等效于 pformatectIn。 调用方必须分配此结构,因此,GetCanonicalFormatEtc 方法必须填写该数据。 检索中随后调用的数据,如 IDataObject.GetData,调用方使用所提供的 pformatetcOut值,因此,除非所提供的值为 nullnull 引用(在 Visual Basic 中为 Nothing)。 如果方法返回 DATA_S_SAMEFORMATETC,此值为 null。 在此情况下,tymed 成员并无意义,应将其忽略。 该参数未经初始化即被传递。
返回值
类型:Int32
此方法支持标准返回值 E_INVALIDARG、E_UNEXPECTED和 E_OUTOFMEMORY,以及以下操作:
值 |
说明 |
---|---|
S_OK |
返回的 FORMATETC 结构与传递的一个不同。 |
DATA_S_SAMEFORMATETC |
FORMATETC 的结构相同,因此 null 引用返回 formatOut 参数。 |
DV_E_LINDEX |
lindex 有一个无效值;当前,只支持 -1。 |
DV_E_FORMATETC |
formatIn 参数有一个无效值。 |
OLE_E_NOTRUNNING |
应用程序未运行。 |
实现
IDataObject.GetCanonicalFormatEtc(FORMATETC, FORMATETC)
备注
此方法将调用。从 System.Runtime.InteropServices.ComTypes 命名空间对应的 GetCanonicalFormatEtc,前提,剪贴板对象包装现有 IDataObject。
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关详细信息,请参阅通过部分受信任的代码使用库。