Код элемента управления FSCTL_DELETE_REPARSE_POINT

Код элемента управления FSCTL_DELETE_REPARSE_POINT удаляет точку повторного анализа из указанного файла или каталога. При использовании FSCTL_DELETE_REPARSE_POINT файл или каталог не удаляются.

Для выполнения этой операции вызовите ZwFsControlFile со следующими параметрами.

Минифильтры должны использовать FltUntagFile вместо FSCTL_DELETE_REPARSE_POINT для удаления точки повторного анализа.

Дополнительные сведения о точках повторного анализа и коде элемента управления FSCTL_DELETE_REPARSE_POINT см. в документации по Microsoft Windows SDK.

Параметры

  • FileHandle [in]: дескриптор файла или каталога, из которого должна быть удалена точка повторного обработки. Вызывающий объект должен иметь доступ на запись к файлу или каталогу. Этот параметр является обязательным и не может иметь значение NULL.

  • FsControlCode [in]: управляющий код для операции. Используйте FSCTL_DELETE_REPARSE_POINT для этой операции.

  • InputBuffer [in]: указатель на структуру REPARSE_GUID_DATA_BUFFER или REPARSE_DATA_BUFFER . Тег, указанный в элементе ReparseTag этой структуры, должен соответствовать тегу удаляемой точки репарирования, а член ReparseDataLength должен иметь нулевое значение. Кроме того, если точка повторного исследования является сторонней точкой повторного исследования (не майкрософт), то GUID, указанный в элементе ReparseGuid структуры REPARSE_GUID_DATA_BUFFER, должен соответствовать GUID точки повторного исследования, которая должна быть удалена.

  • InputBufferLength [in]: размер (в байтах) буфера, на который указывает параметр InputBuffer . Для структуры REPARSE_GUID_DATA_BUFFER это значение должно быть точно REPARSE_GUID_DATA_BUFFER_HEADER_SIZE. Для структуры REPARSE_DATA_BUFFER это значение должно быть точно REPARSE_DATA_BUFFER_HEADER_SIZE.

  • OutputBuffer [out]: нет. задано значение NULL.

  • OutputBufferLength [out]: задайте значение 0.

Блок состояния

ZwFsControlFile возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS, например одно из следующих значений:

Код Значение
STATUS_IO_REPARSE_DATA_INVALID Одно из указанных значений параметра было недопустимым. Это код ошибки.
STATUS_IO_REPARSE_TAG_INVALID Недопустимый тег reparse, указанный вызывающим объектом. Это код ошибки.
STATUS_IO_REPARSE_TAG_MISMATCH Тег reparse, указанный вызывающим объектом, не соответствует тегу удаляемой точки повторного обработки. Это код ошибки.
STATUS_REPARSE_ATTRIBUTE_CONFLICT Точка повторного обработки является сторонней точкой повторного обработки, и GUID повторного обработки, указанный вызывающим объектом, не соответствует GUID удаляемой точки повторного обработки. Это код ошибки.

Требования

Тип требования Требование
Заголовок Ntifs.h (включая Ntifs.h или Fltkernel.h)

См. также раздел

FLT_PARAMETERS для IRP_MJ_FILE_SYSTEM_CONTROL

FltTagFile

FltUntagFile

FSCTL_GET_REPARSE_POINT

FSCTL_SET_REPARSE_POINT

IRP_MJ_FILE_SYSTEM_CONTROL

IsReparseTagMicrosoft

IsReparseTagNameSurrogate

REPARSE_DATA_BUFFER

REPARSE_GUID_DATA_BUFFER

ZwFsControlFile