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