Comment lire et écrire des atsortingbuts de fichiers Windows étendus avec win32

Je voudrais intégrer des méta-données dans un fichier Windows.

Je suis tombé sur le concept d’atsortingbuts de fichiers étendus, qui, à mon avis, sont utilisés à cette fin. Par exemple, nom de la caméra en jpgs, nom de l’épisode dans avis.

En dehors de quelques API de kernel non documentées très obscures, je ne trouve pas comment faire cela dans c / c ++ en utilisant l’API win32.

Est-ce que quelqu’un a déjà fait ça?

Merci d’avance.

Les atsortingbuts étendus sont une propriété du système de fichiers, c’est-à-dire NTFS. Les balises associées aux fichiers JPEG et AVI sont stockées dans le fichier lui-même. L’API Win32 ne vous fournira que les EA du système de fichiers, pas ceux incorporés dans les fichiers. Vous devrez rechercher des bibliothèques tierces pour récupérer les atsortingbuts incorporés.

Dans le cas général, les métadonnées peuvent être formatées de manière facile pour votre application. La spécification RDF a été créée pour fournir un ensemble standard de fonctionnalités de métadonnées qui couvrent la plupart des types d’informations généralement utiles.

Cependant, le problème est toujours de trouver un moyen de les stocker avec les données réelles de manière à ne pas déranger les applications qui pensent savoir gérer le format. Cela peut être particulièrement délicat pour les formats bien connus.

Adobe a effectué de nombreuses recherches sur ce problème et soutient une technologie qu’il appelle XMP pour obtenir de bons résultats. XMP inclut les métadonnées dans un style étroitement lié à RDF, ainsi que des conventions pour les insérer dans de nombreux autres formats de fichiers, ou dans des fichiers side-car dans les cas où il n’existe aucun moyen portable d’intégrer les données.

Sur un système Windows avec tous les fichiers stockés sur des volumes NTFS, il est concevable d’utiliser des atsortingbuts étendus et des stream de données alternatifs pour stocker des métadonnées. Le gros problème avec ceci est celui de la portabilité. Les autres stream seront perdus si le fichier est copié sur un support qui ne les prend pas en charge, tel que n’importe quel type de FAT, ainsi que les systèmes de fichiers utilisés sur les CD et les DVD.

Il s’agit d’un grave problème qui rend plus difficile le maintien d’une sauvegarde valide et complète d’un fichier de ce type que ce qui est pratique pour la plupart des utilisateurs.

Certaines applications utilisent d’autres stream de données, mais ils le font en sachant que la valeur ajoutée peut être perdue lors de la copie du fichier.