次の方法で共有


IDataObject.GetCanonicalFormatEtc(FORMATETC, FORMATETC) メソッド

定義

より複雑な構造体と論理的に等価な、標準の FORMATETC 構造体を提供します。 このメソッドを使用して、2 つの異なる FORMATETC 構造体が同一のデータを返すかどうかを確認し、表示を二重化する必要をなくします。

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 メソッド」を参照してください。

適用対象