Estructura FORMATETC (objidl.h)

Representa un formato generalizado del Portapapeles. Se ha mejorado para abarcar un dispositivo de destino, el aspecto o la vista de los datos y un indicador de medio de almacenamiento. Donde podría esperar encontrar un formato de Portapapeles, OLE usa en su lugar una estructura de datos FORMATETC . Esta estructura se usa como parámetro en funciones OLE y métodos que requieren información de formato de datos.

Sintaxis

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

Miembros

cfFormat

Formato de portapapeles de interés. Ole reconoce tres tipos de formatos:

  • Formatos de intercambio estándar, como CF_TEXT.
  • Los formatos de aplicación privada que comprende la aplicación solo ofrecen el formato, o bien otras aplicaciones que ofrecen características similares.
  • Formatos OLE, que se usan para crear objetos vinculados o incrustados.

ptd

Puntero a una estructura DVTARGETDEVICE que contiene información sobre el dispositivo de destino para el que se componen los datos. Se usa un valor NULL cada vez que el formato de datos especificado es independiente del dispositivo de destino o cuando el autor de la llamada no importa qué dispositivo se usa. En este último caso, si los datos requieren un dispositivo de destino, el objeto debe elegir un dispositivo predeterminado adecuado (a menudo la pantalla de los componentes visuales). Los datos obtenidos de un objeto con un dispositivo de destino NULL , como la mayoría de los metarchivos, son independientes del dispositivo de destino. Los datos resultantes suelen ser los mismos que si el usuario elige el comando Guardar como en el menú Archivo y selecciona un formato de intercambio.

dwAspect

Indica cuánto detalle debe contenerse en la representación. Este parámetro debe ser uno de los valores de enumeración DVASPECT . Un único formato de Portapapeles puede admitir varios aspectos o vistas del objeto. La mayoría de los datos y los métodos de transferencia y almacenamiento en caché pasan información de aspecto. Por ejemplo, un llamador podría solicitar la imagen emblemática de un objeto, usando el formato del Portapapeles del metarchivo para recuperarla. Tenga en cuenta que solo se puede usar un valor DVASPECT en dwAspect. Es decir, dwAspect no puede ser el resultado de una operación OR booleana en varios valores DVASPECT .

lindex

Parte del aspecto cuando los datos deben dividirse entre los límites de la página. El valor más común es -1, que identifica todos los datos. Para los aspectos DVASPECT_THUMBNAIL y DVASPECT_ICON, lindex se omite.

tymed

Una de las constantes de enumeración TYMED que indican el tipo de medio de almacenamiento utilizado para transferir los datos del objeto. Los datos se pueden transferir mediante cualquier medio que tenga sentido para el objeto. Por ejemplo, los datos se pueden pasar mediante memoria global, un archivo de disco o objetos de almacenamiento estructurados. Para obtener más información, vea la enumeración TYMED .

Comentarios

Los métodos usan la estructura FORMATETC en las interfaces de transferencia de datos y presentación como un parámetro que especifica los datos que se transfieren. Por ejemplo, el método IDataObject::GetData usa la estructura FORMATETC para indicar exactamente qué tipo de datos solicita el autor de la llamada.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Encabezado objidl.h

Consulte también

DVASPECT

IDataAdviseHolder

IDataObject

IEnumFORMATETC

IOleCache

OleCreate

OleCreateFromData

OleCreateLink

OleCreateLinkFromData

OleCreateLinkToFile

OleCreateStaticFromData

STATDATA

STGMEDIUM

TYMED