FORMATETC 構造体 (objidl.h)

一般化されたクリップボード形式を表します。 ターゲット デバイス、データの側面またはビュー、およびストレージ メディア インジケーターを含むように拡張されます。 クリップボード形式が見つかると思われる場合、OLE では代わりに FORMATETC データ構造が使用されます。 この構造体は、データ形式情報を必要とする OLE 関数およびメソッドのパラメーターとして使用されます。

構文

typedef struct tagFORMATETC {
  CLIPFORMAT     cfFormat;
  DVTARGETDEVICE *ptd;
  DWORD          dwAspect;
  LONG           lindex;
  DWORD          tymed;
} FORMATETC, *LPFORMATETC;

メンバー

cfFormat

目的のクリップボード形式。 OLE で認識される形式には、次の 3 種類があります。

  • CF_TEXTなどの標準インターチェンジ形式。
  • プライベート アプリケーション形式は、形式を提供するアプリケーション、または同様の機能を提供する他のアプリケーションによってのみ理解されます。
  • OLE 形式。リンクオブジェクトまたは埋め込みオブジェクトを作成するために使用されます。

ptd

データが構成されているターゲット デバイスに関する情報を含む DVTARGETDEVICE 構造体へのポインター。 NULL 値は、指定されたデータ形式がターゲット デバイスから独立している場合、または呼び出し元が使用されているデバイスを気にしない場合に常に使用されます。 後者の場合、データにターゲット デバイスが必要な場合、オブジェクトは適切な既定のデバイス (多くの場合、ビジュアル コンポーネントの表示) を選択する必要があります。 NULL ターゲット デバイス を持つオブジェクトから取得されたデータ (ほとんどのメタファイルなど) は、ターゲット デバイスとは無関係です。 結果のデータは、通常、ユーザーが [ファイル] メニューから [名前を付けて保存] コマンドを選択し、インターチェンジ形式を選択した場合と同じです。

dwAspect

レンダリングに含める必要がある詳細の量を示します。 このパラメーターは 、DVASPECT 列挙値のいずれかである必要があります。 1 つのクリップボード形式では、オブジェクトの複数の側面またはビューをサポートできます。 ほとんどのデータとプレゼンテーションの転送およびキャッシュ方法は、アスペクト情報を渡します。 たとえば、呼び出し元は、メタファイルクリップボード形式を使用してオブジェクトの象徴的な画像を取得するように要求できます。 dwAspect で使用できる DVASPECT 値は 1 つだけであることに注意してください。 つまり、 dwAspect は、複数の DVASPECT 値に対するブール OR 演算の結果にすることはできません。

lindex

ページ境界を越えてデータを分割する必要がある場合の側面の一部。 最も一般的な値は -1 で、すべてのデータを識別します。 DVASPECT_THUMBNAILとDVASPECT_ICONの側面では、lindex は無視されます。

tymed

オブジェクトのデータ転送に使用されるストレージ メディアの種類を示す TYMED 列挙定数の 1 つ。 データは、オブジェクトにとって意味のあるメディアを使用して転送できます。 たとえば、グローバル メモリ、ディスク ファイル、または構造化ストレージ オブジェクトを使用してデータを渡すことができます。 詳細については、 TYMED 列挙を参照してください。

注釈

FORMATETC 構造体は、転送するデータを指定するパラメーターとして、データ転送およびプレゼンテーション インターフェイスのメソッドによって使用されます。 たとえば、 IDataObject::GetData メソッドは FORMATETC 構造体を使用して、呼び出し元が要求しているデータの種類を正確に示します。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
Header objidl.h

こちらもご覧ください

DVASPECT

IDataAdviseHolder

Idataobject

IEnumFORMATETC

IOleCache

OleCreate

OleCreateFromData

OleCreateLink

OleCreateLinkFromData

OleCreateLinkToFile

OleCreateStaticFromData

STATDATA

STGMEDIUM

Tymed