Compartilhar via


A estrutura FORMATETC

A estrutura FORMATETC é um formato de área de transferência generalizado, aprimorado para abranger um dispositivo de destino, um aspecto ou exibição dos dados e um meio de armazenamento. Um consumidor de dados, como um aplicativo de contêiner OLE, passa a estrutura FORMATETC como um argumento em chamadas para IDataObject para indicar o tipo de dados desejado de uma fonte de dados, como um objeto de documento composto. A origem usa a estrutura FORMATETC para descrever quais formatos ela pode fornecer.

FORMATETC pode descrever praticamente todos os dados, incluindo outros objetos, como monikers. Um contêiner pode solicitar que um de seus objetos inseridos liste seus formatos de dados chamando IDataObject::EnumFormatEtc, que retorna um objeto enumerador que implementa a interface IEnumFORMATETC . Em vez de responder apenas que ele tem "texto e um bitmap", o objeto pode fornecer uma descrição detalhada dos dados, incluindo o dispositivo (normalmente tela ou impressora) para o qual ele é renderizado, o aspecto a ser apresentado ao usuário (conteúdo completo, miniatura, ícone ou formatado para impressão) e o meio de armazenamento que contém os dados (memória global, arquivo de disco, objeto de armazenamento ou fluxo). Essa capacidade de descrever fortemente os dados resultará, com o tempo, em uma saída de tela e impressora de maior qualidade, bem como mais eficiência na navegação de dados, em que um esboço de miniatura é muito mais rápido de recuperar e exibir do que uma renderização totalmente detalhada.

A tabela a seguir lista os campos da estrutura de dados FORMATETC e as informações especificadas.

Campo Especifica
cfFormat
O formato no qual os dados devem ser renderizados, que pode ser um formato de área de transferência padrão, um formato proprietário ou um formato OLE. Para obter mais informações sobre formatos OLE, consulte Documentos Compostos.
Ptd
Uma estrutura DVTARGETDEVICE , que contém informações suficientes sobre um dispositivo de destino do Windows, como uma tela ou impressora, para que um identificador para seu contexto de dispositivo (hDC) possa ser criado usando a função CreateDC .
dwAspect
O aspecto ou exibição dos dados a serem renderizados; pode ser o conteúdo completo, um esboço de miniatura, um ícone ou formatado para impressão.
lindex
A parte do aspecto que é relevante. O valor mais comum é -1, indicando que toda a exibição é de interesse. O índice baseado em zero deve ser usado para CFSTR_FILECONTENTS formato.
tymed
O meio de armazenamento dos dados, que pode ser memória global, arquivo de disco ou uma instância de uma das interfaces de armazenamento estruturado do COM.

Formatos de dados e mídia de transferência