код элемента управления FSCTL_SET_REPARSE_POINT

Код элемента управления FSCTL_SET_REPARSE_POINT задает точку повторного анализа для файла или каталога.

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

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

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

Параметры

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

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

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

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

  • OutputBuffer [out]: не используется с этой операцией; для параметра задано значение NULL.

  • OutputBufferLength [out]: не используется с этой операцией; Значение равно нулю.

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

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

Код Значение
STATUS_DIRECTORY_NOT_EMPTY Точку повторного аналитики нельзя задать в каталоге nonempty. Это код ошибки.
STATUS_EAS_NOT_SUPPORTED Точку повторного обработки нельзя задать для файла, если этот запрос находится в транзакции. Это код ошибки.
STATUS_IO_REPARSE_DATA_INVALID Одно из указанных значений параметра было недопустимым. Это код ошибки.
STATUS_IO_REPARSE_TAG_MISMATCH Тег reparse, указанный вызывающим объектом, не совпадает с тегом точки повторного обработки, которую необходимо изменить. Это код ошибки.
STATUS_NOT_A_REPARSE_POINT Файл или каталог не является точкой повторной аналитики. Это код ошибки.
STATUS_REPARSE_ATTRIBUTE_CONFLICT Точка повторного обработки является сторонней точкой повторной обработки, и GUID повторного обработки, указанный вызывающим объектом, не соответствует GUID точки повторного обработки, которую необходимо изменить. Это код ошибки.

Требования

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

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

FLT_PARAMETERS для IRP_MJ_FILE_SYSTEM_CONTROL

FltTagFile

FltUntagFile

FSCTL_DELETE_REPARSE_POINT

FSCTL_GET_REPARSE_POINT

IRP_MJ_FILE_SYSTEM_CONTROL

IsReparseTagMicrosoft

IsReparseTagNameSurrogate

REPARSE_DATA_BUFFER

REPARSE_GUID_DATA_BUFFER

ZwFsControlFile