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


Операции с точками повторного преобразования

Чтобы определить, поддерживает ли файловая система точки повторного анализа, вызовите функцию GetVolumeInformation и проверьте флаг бита FILE_SUPPORTS_REPARSE_POINTS .

Функция DeviceIoControl позволяет задавать, изменять, получать и удалять точки повторного анализа. В следующей таблице описаны операции точки повторного просмотра, которые можно выполнять с помощью DeviceIoControl.

Операция Описание
FSCTL_SET_REPARSE_POINT Позволяет вызывающей программе задать новую точку повторного оценки или изменить существующую.
FSCTL_GET_REPARSE_POINT Получает сведения, хранящиеся в существующей точке повторной аналитики.
FSCTL_DELETE_REPARSE_POINT Удаляет существующую точку повторного извлечения.

При изменении, получении или удалении точки повторного просмотра необходимо указать тот же тег повторного просмотра в операции, которая содержится в файле. В противном случае операция завершится ошибкой ERROR_REPARSE_TAG_MISMATCH. При изменении или удалении точки повторного просмотра необходимо также указать GUID повторного просмотра в операции, содержащейся в файле. В противном случае операция завершится ошибкой ERROR_REPARSE_ATTRIBUTE_CONFLICT.

Чтобы определить, содержит ли файл или каталог точку повторного определения, используйте функцию GetFileAttributes . Если файл или каталог имеет связанную точку повторного извлечения, задается атрибут FILE_ATTRIBUTE_REPARSE_POINT .

Чтобы перезаписать существующую точку повторного обработки без дескриптора файла или каталога, вызовите CreateFile с FILE_FLAG_OPEN_REPARSE_POINT. Этот флаг позволяет открыть файл независимо от того, установлен ли соответствующий фильтр файловой системы и работает ли он правильно.