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