IDataObject.GetCanonicalFormatEtc(FORMATETC, FORMATETC) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
public:
int GetCanonicalFormatEtc(System::Runtime::InteropServices::ComTypes::FORMATETC % formatIn, [Runtime::InteropServices::Out] System::Runtime::InteropServices::ComTypes::FORMATETC % formatOut);
public int GetCanonicalFormatEtc (ref System.Runtime.InteropServices.ComTypes.FORMATETC formatIn, out System.Runtime.InteropServices.ComTypes.FORMATETC formatOut);
abstract member GetCanonicalFormatEtc : FORMATETC * FORMATETC -> int
Public Function GetCanonicalFormatEtc (ByRef formatIn As FORMATETC, ByRef formatOut As FORMATETC) As Integer
参数
- formatIn
- FORMATETC
由引用传递的、指向 FORMATETC 结构的指针,该结构定义调用方在后续调用(如 GetData(FORMATETC, STGMEDIUM))中检索数据时将要使用的格式、介质和目标设备。 在此情况下,TYMED 成员并无意义,应将其忽略。
- formatOut
- FORMATETC
此方法返回时,包含指向 FORMATETC 结构的指针(该结构中包含可能用于特定呈现的最常规信息),使其规范地等效于 formatetcIn
。 调用方必须分配此结构,并且 GetCanonicalFormatEtc(FORMATETC, FORMATETC) 方法必须填充数据。 为了在后续调用(如 GetData(FORMATETC, STGMEDIUM))中检索数据,调用方将使用提供的 formatOut
值,除非提供的值为 null
。 如果方法返回 null
,则此值为 DATA_S_SAMEFORMATETC
。 在此情况下,TYMED 成员并无意义,应将其忽略。 此参数未经初始化即被传递。
返回
此方法支持 E_INVALIDARG、E_UNEXPECTED 和 E_OUTOFMEMORY 等标准返回值,以及下面的值:
值 | 说明 |
---|---|
S_OK | 返回的 FORMATETC 结构与传递的结构不同。 |
DATA_S_SAMEFORMATETC | FORMATETC 结构都相同,并且在 formatOut 参数中返回 null 。
|
DV_E_LINDEX | lindex 有一个无效值;当前,只支持 -1。 |
DV_E_FORMATETC | pFormatetc 参数有一个无效值。
|
OLE_E_NOTRUNNING | 应用程序未运行。 |
注解
有关详细信息,请参阅 IDataObject::GetCanonicalFormatEtc 方法。