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


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

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

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

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

Параметры

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

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

  • FsControlCode [in]: код элемента управления для операции. Для этой операции используйте FSCTL_GET_REPARSE_POINT .

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

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

  • OutputBuffer [out]: указатель на структуру, выделенную вызывающим объектом REPARSE_GUID_DATA_BUFFER или REPARSE_DATA_BUFFER , получающую данные точки повторного анализа.

  • OutputBufferLength [out]: размер (в байтах) буфера, на который указывает параметр OutputBuffer . Число байтов вычисляется следующим образом:

    Структура OutputBufferLength
    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.

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

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

Код Значение
STATUS_BUFFER_OVERFLOW Буфер, на который указывает параметр OutputBuffer , достаточно велик, чтобы вместить фиксированную часть REPARSE_GUID_DATA_BUFFER или REPARSE_DATA_BUFFER структуру, но не определяемые пользователем данные. В этом случае в буфер OutputBuffer возвращаются только байты OutputBufferLength. Параметр LengthReturned для FltFsControlFile получает фактическую длину возвращаемых данных (в байтах). Это код предупреждения.
STATUS_BUFFER_TOO_SMALL Буфер, на который указывает OutputBuffer , меньше sizeof(REPARSE_GUID_DATA_BUFFER) и не достаточно велик для хранения данных точки повторного анализа. Параметр LengthReturned для FltFsControlFile (или элемент Information параметра IoStatus для ZwFsControlFile) получает требуемый размер буфера. В этом случае данные точки повторного анализа не возвращаются. Это код ошибки.
STATUS_IO_REPARSE_DATA_INVALID Одно из указанных значений параметра было недопустимым. Это код ошибки.
STATUS_NOT_A_REPARSE_POINT Файл или каталог не является точкой повторного аналитики. Это код ошибки.

Требования

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

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

FLT_CALLBACK_DATA

FLT_PARAMETERS для IRP_MJ_FILE_SYSTEM_CONTROL

FLT_TAG_DATA_BUFFER

FltFsControlFile

FltTagFile

FltUntagFile

FSCTL_DELETE_REPARSE_POINT

FSCTL_SET_REPARSE_POINT

IRP_MJ_FILE_SYSTEM_CONTROL

IsReparseTagMicrosoft

IsReparseTagNameSurrogate

REPARSE_DATA_BUFFER

REPARSE_GUID_DATA_BUFFER

ZwFsControlFile