Implémentation du système de fichiers IPropertyStorage-NTFS

La version NTFS 5.0 fournit une implémentation de l’interface IPropertyStorage pour les fichiers sur un volume NTFS lorsque les fichiers ne sont pas des fichiers composés.

Pour obtenir un pointeur vers l’implémentation du système de fichiers NTFS d’IPropertySetStorage

  1. Appelez IPropertySetStorage::Create à l’aide de l’implémentation NTFS de IPropertySetStorage.
  2. Appelez IPropertySetStorage::Open à l’aide de l’implémentation NTFS d’IPropertySetStorage.

Quand l’utiliser

Utilisez IPropertyStorage pour gérer les propriétés au sein d’un jeu de propriétés unique. Ses méthodes prennent en charge la lecture, l’écriture et la suppression des propriétés et les noms de chaîne facultatifs qui peuvent être associés aux identificateurs de propriétés. Une autre méthode vous permet de définir les heures associées au stockage de propriétés, et une autre permet l’affectation d’un CLSID, utilisé pour associer un autre code, tel que le code d’interface utilisateur, au jeu de propriétés. L’appel de la méthode Enum fournit un pointeur vers l’implémentation NTFS de IEnumSTATPROPSTG, ce qui vous permet d’énumérer les propriétés dans l’ensemble.

Notes

L’implémentation NTFS fournit essentiellement les mêmes fonctionnalités que l’implémentation de fichiers composés. Pour plus d’informations, consultez Implémentation de fichier composé IPropertyStorage.

Étant donné que NTFS est un système de fichiers robuste, un jeu de propriétés NTFS ne sera jamais laissé dans un état incorrect. Lorsque le contenu d’un IPropertyStorage NTFS est vidé dans le fichier NTFS sous-jacent, tout ou aucun état est écrit dans le fichier en tant qu’opération atomique, même en cas de défaillance pendant l’opération, comme un arrêt anormal du processus. Pour obtenir un comportement similaire avec l’implémentation de fichier composé, l’interface IPropertySetStorage parente doit être ouverte en mode transactionné.

Ce niveau de robustesse n’est possible que lors de l’accès à une propriété NTFS définie sur un volume NTFS 5.0. Il est possible d’accéder aux jeux de propriétés NTFS sur des versions antérieures de NTFS (par exemple, un ordinateur exécutant Windows NT ou Windows 2000 qui accède aux jeux de propriétés sur un ordinateur serveur de fichiers exécutant Windows NT 4.0), mais ils ne sont pas garantis pour être dans un état correct en cas de défaillance inattendue.

Bien que l’implémentation NTFS d’IPropertySetStorage ne prenne pas en charge la transaction, l’implémentation NTFS d’IPropertyStorage la prend en charge. Autrement dit, STGM_TRANSACTED peuvent être spécifiés dans le paramètre grfMode aux méthodes Create et Open de IPropertySetStorage. Comme dans l’implémentation de fichier composé, le mode traité n’est possible que pour les stockages de propriétés non simples (en spécifiant PROPSETFLAG_NONSIMPLE dans le paramètre grfFlags ).

IPropertyStorage

Implémentation du système de fichiers IPropertySetStorage-NTFS