Функция 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 возвращает один из кодов состояния:

Код возврата Описание
STATUS_EAS_NOT_SUPPORTED
Файловая система не поддерживает расширенные атрибуты.
STATUS_INVALID_DEVICE_REQUEST
Запрос завершился ошибкой, так как это было открыто прямое устройство.
STATUS_INSUFFICIENT_RESOURCES
Пакет запроса ввода-вывода (IRP) не удалось выделить для этого запроса.
STATUS_SUCCESS
Запрос выполнен успешно.

Комментарии

В этой подпрограмме FsRtlQueryKernelEaFile предполагается, что все переданные буферы находятся в режиме ядра, так как требует, чтобы указанные буферы входных и выходных данных были адресами режима ядра. Операция завершится ошибкой, если указан адрес в пользовательском режиме.

Требования

Требование Значение
Минимальная версия клиента Windows 8
Минимальная версия сервера Windows Server 2012
Целевая платформа Windows
Header ntifs.h

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

FsRtlSetKernelEaFile

ZwQueryEaFile

ZwSetEaFile