Код элемента управления 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) |