Функция FsRtlQueryKernelEaFile (ntifs.h)
Подпрограмма FsRtlQueryKernelEaFile используется для создания явного запроса QueryEA и синхронно ожидает завершения, возвращая результат. Это позволяет вызывающему объекту выполнять это с помощью FileObject вместо дескриптора.
Синтаксис
NTSTATUS FsRtlQueryKernelEaFile(
[in] PFILE_OBJECT FileObject,
[out] PVOID ReturnedEaData,
[in] ULONG Length,
[in] BOOLEAN ReturnSingleEntry,
[in] PVOID EaList,
[in] ULONG EaListLength,
[in, optional] PULONG EaIndex,
[in] BOOLEAN RestartScan,
[out, optional] PULONG LengthReturned
);
Параметры
[in] FileObject
Указатель на FileObject для отправки запроса QueryEA.
[out] ReturnedEaData
Указатель на предоставленный вызывающим FILE_FULL_EA_INFORMATION-структурированный выходной буфер, где возвращаются расширенные значения атрибутов.
[in] Length
Указывает длину в байтах ReturnedEaData
[in] ReturnSingleEntry
Указывает, следует ли возвращать только одну запись, а не заполнять буфер максимально большим количеством EAS.
[in] EaList
Указатель на предоставленный вызывающим FILE_GET_EA_INFORMATION-структурированный входной буфер, указывающий расширенные атрибуты для запроса. Этот параметр является необязательным и может быть null.
[in] EaListLength
Указывает длину EaList, если указан список EA.
[in, optional] EaIndex
Предоставляет необязательный индекс EA, значение которого необходимо вернуть. Если задано, возвращается только то, что EA возвращается.
[in] RestartScan
Указывает, следует ли перезапустить проверку ЕА с самого начала.
[out, optional] LengthReturned
Указывает объем допустимых данных, возвращаемых в буфере ReturnedEaData.
Возвращаемое значение
Подпрограмма FsRtlQueryKernelEaFile возвращает один из кодов состояния:
Возвращаемый код | Описание |
---|---|
|
Файловая система не поддерживает расширенные атрибуты. |
|
Запрос завершился ошибкой, так как он был открытым на прямом устройстве. |
|
Пакет запроса ввода-вывода (IRP) не может быть выделен для этого запроса. |
|
Запрос выполнен успешно. |
Замечания
Эта подпрограмма FsRtlQueryKernelEaFile предполагает, что все переданные буферы находятся в режиме ядра, так как требуется, чтобы указанные буферы входных и выходных данных были адресами режима ядра. Операция завершится ошибкой, если указан адрес пользовательского режима.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 8 |
минимальный поддерживаемый сервер | Windows Server 2012 |
целевая платформа | Виндоус |
заголовка | ntifs.h |