Partager via


Formats de données et média de transfert

La plupart des plateformes, y compris Windows, définissent un protocole standard pour transférer des données entre des applications, en fonction d’un ensemble de fonctions appelées Presse-papiers. Les applications utilisant ces fonctions peuvent partager des données même si leurs formats de données natifs sont très différents. En règle générale, ces presse-papiers présentent deux lacunes significatives que COM a surmontées.

Tout d’abord, les descriptions de données utilisent uniquement un identificateur de format, tel que l’identificateur de format du Presse-papiers 16 bits unique sur Windows, ce qui signifie que le Presse-papiers ne peut décrire que la structure de ses données, c’est-à-dire l’ordre des bits. Il peut signaler , « J’ai une bitmap » « ou j’ai du texte », mais il ne peut pas spécifier les appareils cibles pour lesquels les données sont composées, les vues ou les aspects de lui-même les données peuvent fournir, ou quel média de stockage est le mieux adapté à son transfert. Par exemple, il ne peut pas signaler : « J’ai une chaîne de texte stockée dans la mémoire globale et mise en forme pour la présentation à l’écran ou sur une imprimante » ou « J’ai une bitmap de croquis miniatures rendue pour une imprimante à matrice de points de 100 ppp et stockée en tant que fichier disque ».

Ensuite, tous les transferts de données à l’aide du Presse-papiers se produisent généralement par le biais de la mémoire globale. L’utilisation de la mémoire globale est raisonnablement efficace pour de petites quantités de données, mais horriblement inefficace pour de grandes quantités, comme un objet multimédia de 20 Mo. La mémoire globale est lente pour un objet de données volumineux, dont la taille nécessite un échange considérable vers la mémoire virtuelle sur le disque. Dans les cas où les données échangées vont résider principalement sur le disque de toute façon, le forcer à travers ce goulot d’étranglement de mémoire virtuelle est très inefficace. Une meilleure façon d’ignorer entièrement la mémoire globale et de transférer simplement les données directement sur le disque.

Pour résoudre ces problèmes, COM fournit deux structures de données : FORMATETC et STGMEDIUM. Pour plus d’informations, consultez les rubriques suivantes :

de transfert de données