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


Подпрограмма MRxQueryEaInfo

Подпрограмма MRxQueryEaInfo вызывается RDBSS для запроса запроса сетевого мини-перенаправителя сведений о расширенном атрибуте в объекте файловой системы.

Синтаксис

PMRX_CALLDOWN MRxQueryEaInfo;

NTSTATUS MRxQueryEaInfo(
  _Inout_ PRX_CONTEXT RxContext
)
{ ... }

Параметры

RxContext [in, out]
Указатель на структуру RX_CONTEXT. Этот параметр содержит IRP, запрашивающий операцию.

Возвращаемое значение

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

Код возврата Описание
STATUS_ACCESS_DENIED

Вызывающий объект не имеет надлежащей безопасности для этой операции.

STATUS_BUFFER_OVERFLOW

Буфер для получения сведений о расширенном атрибуте был слишком мал.

Это возвращаемое значение следует считать успешным, и в элементе Info.Buffer структуры RX_CONTEXT, на которую указывает параметр RxContext , должно возвращаться как можно больше допустимых данных.

STATUS_BUFFER_TOO_SMALL

Буфер слишком мал для получения запрошенных данных.

Если это значение возвращается, элементу InformationToReturn структуры RX_CONTEXT, на которую указывает параметр RxContext , необходимо задать минимальный размер ожидаемого буфера для успешного вызова.

STATUS_CONNECTION_DISCONNECTED

Подключение было отключено.

STATUS_EA_CORRUPT_ERROR

От удаленного сервера были получены недопустимые сведения о расширенном атрибуте.

STATUS_INSUFFICIENT_RESOURCES

Недостаточно ресурсов для выполнения запроса.

STATUS_INVALID_PARAMETER

Указан недопустимый параметр.

STATUS_NONEXISTENT_EA_ENTRY

В объекте файла отсутствуют расширенные атрибуты, и пользователь предоставил расширенный индекс атрибута.

STATUS_NOT_SUPPORTED

Расширенные атрибуты не поддерживаются.

STATUS_ONLY_IF_CONNECTED

Структура SRV_OPEN не связана.

STATUS_REQUEST_ABORTED

Сетевой запрос прерван.

Комментарии

RDBSS отправляет вызов MRxQueryEaInfo в ответ на получение запроса IRP_MJ_QUERY_EA .

Перед вызовом MRxQueryEaInfo RDBSS изменяет следующие элементы в структуре RX_CONTEXT, на которую указывает параметр RxContext :

Для элемента Info.Buffer задается буфер пользователя из пакета запроса ввода-вывода. При необходимости этот буфер уже заблокирован службой RDBSS.

Для элемента Info.LengthRemaining задано значение IrpSp-Parameters.QueryEa.Length>.

Элемент QueryEa.UserEaList имеет значение IrpSp-Parameters.QueryEa.EaList>.

Элемент QueryEa.UserEaListLength имеет значение IrpSp-Parameters.QueryEa.EaListLength>.

Элемент QueryEa.UserEaIndex имеет значение IrpSp-Parameters.QueryEa.EaIndex>.

Для элемента QueryEa.RestartScan задано ненулевое значение, если для IrpSp-Flags> включен бит SL_RESTART_SCAN.

Элемент QueryEa.ReturnSingleEntry имеет ненулевое значение, если для IrpSp-Flags> включен бит SL_RETURN_SINGLE_ENTRY.

Элемент QueryEa.IndexSpecified имеет ненулевое значение, если для флагов IrpSp-Flags> включен бит SL_INDEX_SPECIFIED.

При успешном выполнении MRxQueryEaInfo должен задать для элемента Info.LengthRemaininging структуры RX_CONTEXT длину возвращаемых сведений о расширенных атрибутах, а также обновить член Fobx-OffsetOfNextEaToReturn>. Если вызов MRxQueryEaInfo был успешным, RDBSS устанавливает для элемента IoStatus.Information IRP значение IrpSp-Parameters.QueryEa.Length> за вычетом элемента Info.LengthRemaining RX_CONTEXT.

Требования

Целевая платформа

Персональный компьютер

Заголовок

Mrx.h (включая Mrx.h)

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

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryFileInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo