Поделиться через


Реализация файловой системы IPropertyStorage-NTFS

NTFS версии 5.0 предоставляет реализацию интерфейса IPropertyStorage для файлов на томе NTFS, когда файлы не являются составными файлами.

Получение указателя на реализацию IPropertySetStorage в файловой системе NTFS

  1. Вызовите метод IPropertySetStorage::Create с помощью реализации NTFS IPropertySetStorage.
  2. Вызовите метод IPropertySetStorage::Open , используя реализацию файловой системы NTFS IPropertySetStorage.

Назначение

Используйте IPropertyStorage для управления свойствами в одном наборе свойств. Его методы поддерживают чтение, запись и удаление свойств, а также необязательные строковые имена, которые могут быть связаны с идентификаторами свойств. Другой метод позволяет задать время, связанное с хранилищем свойств, а другой разрешает назначение идентификатора CLSID, используемого для связывания другого кода, например кода пользовательского интерфейса, с набором свойств. Вызов метода Enum предоставляет указатель на реализацию NTFS IEnumSTATPROPSTG, которая позволяет перечислить свойства в наборе.

Комментарии

Реализация NTFS предоставляет практически те же функции, что и реализация составного файла. Дополнительные сведения см. в разделе Реализация составного файла IPropertyStorage.

Так как NTFS является надежной файловой системой, набор свойств NTFS никогда не будет оставаться в неправильном состоянии. Когда содержимое NTFS IPropertyStorage сбрасывается в базовый ФАЙЛ NTFS, все или ни одно состояние записывается в файл как атомарная операция, даже если во время операции произошел сбой, например аномальное завершение процесса. Чтобы добиться аналогичного поведения с реализацией составного файла, необходимо открыть родительский интерфейс IPropertySetStorage в режиме транзакций.

Этот уровень надежности возможен только при доступе к свойству NTFS, заданному на томе NTFS 5.0. Можно получить доступ к наборам свойств NTFS в более ранних версиях NTFS (например, на компьютере под управлением Windows NT или Windows 2000, который обращается к наборам свойств на компьютере файлового сервера, работающем на Windows NT 4.0), но они не гарантируются в правильном состоянии в случае неожиданного сбоя.

Хотя реализация NTFS IPropertySetStorage не поддерживает транзакцию, реализация NTFS IPropertyStorage поддерживает ее. То есть STGM_TRANSACTED можно указать в параметре grfMode для методов Create и Openобъекта IPropertySetStorage. Как и в реализации составного файла, режим транзакций возможен только для хранилищ неимплированных свойств (указывая PROPSETFLAG_NONSIMPLE в параметре grfFlags ).

IPropertyStorage

Реализация файловой системы IPropertySetStorage-NTFS