The FORMATETC Structure

La structure FORMATETC est un format de Presse-papiers généralisé, amélioré pour englober un appareil cible, un aspect ou une vue des données et un support de stockage. Un consommateur de données, tel qu’une application conteneur OLE, transmet la structure FORMATETC en tant qu’argument dans les appels à IDataObject pour indiquer le type de données qu’il souhaite obtenir à partir d’une source de données, comme un objet de document composé. La source utilise la structure FORMATETC pour décrire les formats qu’elle peut fournir.

FORMATETC peut décrire pratiquement toutes les données, y compris d’autres objets tels que les monikers. Un conteneur peut demander à l’un de ses objets incorporés de répertorier ses formats de données en appelant IDataObject::EnumFormatEtc, qui retourne un objet énumérateur qui implémente l’interface IEnumFORMATETC . Au lieu de répondre simplement qu’il a « du texte et une bitmap », l’objet peut fournir une description détaillée des données, y compris l’appareil (normalement l’écran ou l’imprimante) pour lequel elles sont rendues, l’aspect à présenter à l’utilisateur (contenu complet, miniature, icône ou mis en forme pour l’impression) et le support de stockage contenant les données (mémoire globale, fichier disque, objet de stockage ou flux). Cette capacité à décrire étroitement les données se traduira, à temps, par une sortie d’imprimante et d’écran de meilleure qualité, ainsi qu’une plus grande efficacité dans la navigation des données, où une miniature est beaucoup plus rapide à récupérer et à afficher qu’un rendu entièrement détaillé.

Le tableau suivant répertorie les champs de la structure de données FORMATETC et les informations qu’ils spécifient.

Champ Spécifie
cfFormat
Format dans lequel les données doivent être rendues, qui peut être un format de Presse-papiers standard, un format propriétaire ou un format OLE. Pour plus d’informations sur les formats OLE, consultez Documents composés.
Ptd
Structure DVTARGETDEVICE , qui contient suffisamment d’informations sur un appareil cible Windows, tel qu’un écran ou une imprimante, pour qu’un handle dans son contexte d’appareil (hDC) puisse être créé à l’aide de la fonction CreateDC .
dwAspect
L’aspect ou la vue des données à afficher ; peut être le contenu complet, un croquis miniature, une icône ou mis en forme pour l’impression.
Lindex
La partie de l’aspect qui est intéressante; pour le moment, la valeur doit être -1, ce qui indique que la vue entière est intéressante.
tymed
Le support de stockage des données, qui peut être de la mémoire globale, un fichier de disque ou un instance de l’une des interfaces de stockage structuré de COM.

Formats de données et supports de transfert