IPropertyStorage-NTFS-Dateisystemimplementierung

Die NTFS-Version 5.0 bietet eine Implementierung der IPropertyStorage-Schnittstelle für Dateien auf einem NTFS-Volume, wenn die Dateien keine zusammengesetzten Dateien sind.

So rufen Sie einen Zeiger auf die NTFS-Dateisystemimplementierung von IPropertySetStorage ab

  1. Rufen Sie IPropertySetStorage::Create mithilfe der NTFS-Implementierung von IPropertySetStorage auf.
  2. Rufen Sie IPropertySetStorage::Open mit der NTFS-Implementierung von IPropertySetStorage auf.

Einsatzgebiet

Verwenden Sie IPropertyStorage , um Eigenschaften innerhalb eines einzelnen Eigenschaftensatzes zu verwalten. Die Methoden unterstützen das Lesen, Schreiben und Löschen von Eigenschaften und optionalen Zeichenfolgennamen, die Eigenschaftenbezeichnern zugeordnet werden können. Mit einer anderen Methode können Sie zeiten festlegen, die dem Eigenschaftenspeicher zugeordnet sind, und eine andere ermöglicht die Zuweisung einer CLSID, die verwendet wird, um anderen Code, z. B. Benutzeroberflächencode, dem Eigenschaftensatz zuzuordnen. Das Aufrufen der Enum-Methode stellt einen Zeiger auf die NTFS-Implementierung von IEnumSTATPROPSTG bereit, sodass Sie die Eigenschaften im Satz auflisten können.

Bemerkungen

Die NTFS-Implementierung bietet im Wesentlichen die gleichen Features wie die Implementierung einer zusammengesetzten Datei. Weitere Informationen finden Sie unter IPropertyStorage-Compound File Implementation.

Da NTFS ein robustes Dateisystem ist, wird ein NTFS-Eigenschaftssatz nie in einem falschen Zustand belassen. Wenn der Inhalt einer NTFS-IPropertyStorage in die zugrunde liegende NTFS-Datei geleert wird, wird entweder der gesamte Oder keiner des Zustands als atomarer Vorgang in die Datei geschrieben, auch wenn während des Vorgangs ein Fehler auftritt, z. B. ein abnormaler Prozessabbruch. Um ein ähnliches Verhalten mit der Zusammengesetzten Dateiimplementierung zu erzielen, muss die übergeordnete IPropertySetStorage-Schnittstelle im Transaktionsmodus geöffnet werden.

Diese Robustheit ist nur möglich, wenn auf eine NTFS-Eigenschaft zugegriffen wird, 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 es ist nicht garantiert, dass sie sich im Falle eines unerwarteten Fehlers in einem korrekten Zustand befinden.

Obwohl die NTFS-Implementierung von IPropertySetStorage keine Transaktionen unterstützt, unterstützt die NTFS-Implementierung von IPropertyStorage dies. Das heißt, STGM_TRANSACTED im grfMode-Parameter für die Create- und Open-Methoden von IPropertySetStorage angegeben werden können. Wie in der Zusammengesetzten Dateiimplementierung ist der Transaktionsmodus nur für nicht einfache Eigenschaftsspeicher möglich (angabe PROPSETFLAG_NONSIMPLE im grfFlags-Parameter ).

IPropertyStorage

IPropertySetStorage-NTFS-Dateisystemimplementierung