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)などの後続の呼び出しでデータを取得するために、呼び出し元は、指定された値がformatOutされていない限り、nullの指定された値を使用します。 この値は、メソッドがnullを返す場合にDATA_S_SAMEFORMATETCされます。 この場合、 TYMED メンバーは重要ではないため、無視する必要があります。 このパラメーターは初期化せずに渡されます。

返品

このメソッドは、標準の戻り値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 メソッド」を参照してください。

適用対象