IPropertyStorage-NTFS Dateisystemimplementierung
Die NTFS-Version 5.0 stellt eine Implementierung der IPropertyStorage Schnittstelle für Dateien auf einem NTFS-Volume bereit, wenn die Dateien keine verbundigen Dateien sind.
So rufen Sie einen Zeiger auf die NTFS-Dateisystemimplementierung von IPropertySetStorage
- Rufen Sie IPropertySetStorage::Create mithilfe der NTFS-Implementierung von IPropertySetStorageauf.
- Rufen Sie IPropertySetStorage::Open mithilfe der NTFS-Implementierung von IPropertySetStorageauf.
Wann verwendet werden soll
Verwenden Sie IPropertyStorage-, um Eigenschaften innerhalb eines einzelnen Eigenschaftensatzes zu verwalten. Die Methoden unterstützen das Lesen, Schreiben und Löschen von Eigenschaften sowie die optionalen Zeichenfolgennamen, die Eigenschaftenbezeichnern zugeordnet werden können. Eine andere Methode ermöglicht ihnen das Festlegen von Zeiten, die dem Eigenschaftenspeicher zugeordnet sind, und eine andere ermöglicht die Zuordnung einer CLSID, die verwendet wird, um anderen Code, z. B. Benutzeroberflächencode, dem Eigenschaftensatz zuzuordnen. Durch Aufrufen der Enum-Methode wird ein Zeiger auf die NTFS-Implementierung von IEnumSTATPROPSTGangegeben, mit dem Sie die Eigenschaften im Satz aufzählen können.
Bemerkungen
Die NTFS-Implementierung bietet im Wesentlichen die gleichen Features wie die Verbunddateiimplementierung. Weitere Informationen finden Sie unter IPropertyStorage-Compound Dateiimplementierung.
Da NTFS ein robustes Dateisystem ist, wird ein NTFS-Eigenschaftensatz nie in einem falschen Zustand verbleiben. Wenn der Inhalt einer NTFS-IPropertyStorage in die zugrunde liegende NTFS-Datei geleert wird, wird entweder der gesamte oder kein Zustand als atomische Operation in die Datei geschrieben, auch wenn während des Vorgangs ein Fehler auftritt, z. B. eine ungewöhnliche Beendigung des Prozesses. Um ein ähnliches Verhalten mit der Verbunddateiimplementierung zu erzielen, muss das übergeordnete IPropertySetStorage Schnittstelle im Transaktionsmodus geöffnet werden.
Diese Robustitätsstufe ist nur beim Zugriff auf eine NTFS-Eigenschaft möglich, die auf einem NTFS 5.0-Volume festgelegt ist. Es ist möglich, auf NTFS-Eigenschaftensätze in früheren Versionen von NTFS zuzugreifen (z. B. auf einem Computer unter Windows NT oder Windows 2000, der auf die Eigenschaftensätze auf einem Dateiservercomputer unter Windows NT 4.0 zugreift), aber sie sind nicht garantiert in einem korrekten Zustand im Falle eines unerwarteten Fehlers.
Obwohl die NTFS-Implementierung von IPropertySetStorage die Transaktion nicht unterstützt, unterstützt die NTFS-Implementierung von IPropertyStorage sie. Das heißt, STGM_TRANSACTED kann im grfMode-parameter dem Create und Open Methoden von IPropertySetStorageangegeben werden. Wie bei der Implementierung der zusammengesetzten Datei ist der Transaktionsmodus nur für Nichtimplementierungseigenschaftenspeicher möglich (angabe PROPSETFLAG_NONSIMPLE im grfFlags Parameter).
Verwandte Themen