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)) 中擷取資料,除非提供值為 null
,否則呼叫端會使用 formatOut
的提供值。 如果方法傳回 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 方法。