Compartir a través de


Estructura FORMATETC

La estructura FORMATETC es un formato generalizado del Portapapeles, mejorado para abarcar un dispositivo de destino, un aspecto o una vista de los datos y un medio de almacenamiento. Un consumidor de datos, como una aplicación contenedora OLE, pasa la estructura FORMATETC como argumento en llamadas a IDataObject para indicar el tipo de datos que desea de un origen de datos, como un objeto de documento compuesto. El origen usa la estructura FORMATETC para describir qué formatos puede proporcionar.

FORMATETC puede describir prácticamente cualquier dato, incluidos otros objetos como monikers. Un contenedor puede pedir a uno de sus objetos incrustados que muestren sus formatos de datos llamando a IDataObject::EnumFormatEtc, que devuelve un objeto enumerador que implementa la interfaz IEnumFORMATETC . En lugar de responder simplemente que tiene "texto y un mapa de bits", el objeto puede proporcionar una descripción detallada de los datos, incluido el dispositivo (normalmente pantalla o impresora) para el que se representa, el aspecto que se va a presentar al usuario (contenido completo, miniatura, icono o formato para imprimir) y el medio de almacenamiento que contiene los datos (memoria global, archivo de disco, objeto de almacenamiento o secuencia). Esta capacidad de describir los datos con precisión resultará, con el tiempo, en una mayor calidad de salida de impresora y pantalla, así como en una mayor eficiencia en la navegación de datos, donde un boceto en miniatura es mucho más rápido de recuperar y mostrar que una renderización completamente detallada.

En la tabla siguiente se enumeran los campos de la estructura de datos FORMATETC y la información que especifican.

Campo Especifica
cfFormat
Formato en el que se van a representar los datos, que pueden ser un formato estándar del Portapapeles, un formato propietario o un formato OLE. Para obtener más información sobre los formatos OLE, vea Documentos compuestos.
ptd
La estructura DVTARGETDEVICE, que contiene suficiente información sobre un dispositivo de destino de Windows, como una pantalla o impresora, de manera que se pueda crear un "handle" para su contexto de dispositivo (hDC) mediante la función CreateDC.
dwAspect
Aspecto o vista de los datos que se van a representar; puede ser el contenido completo, un boceto en miniatura, un icono o un formato para imprimir.
lindex
Parte del aspecto que es de interés. El valor más común es -1, lo que indica que toda la vista es de interés. El índice de base cero debe usarse para el formato CFSTR_FILECONTENTS.
tymed
El medio de almacenamiento de los datos, que puede ser memoria global, archivo de disco o una instancia de una de las interfaces de almacenamiento estructurado de COM.

Formatos de datos y medios de transferencia