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


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

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

Синтаксис

PMRX_CALLDOWN MRxQueryFileInfo;

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

Параметры

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

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

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

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

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

STATUS_BUFFER_OVERFLOW

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

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

STATUS_BUFFER_TOO_SMALL

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

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

STATUS_INSUFFICIENT_RESOURCES

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

STATUS_INVALID_NETWORK_RESPONSE

С удаленного сервера получен недопустимый буфер сведений о файлах.

STATUS_INVALID_PARAMETER

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

Это значение может быть возвращено, если передано недопустимое значение для члена FileInformationClass в RX_CONTEXT. Это значение также может быть возвращено, если указанный член FileInformationClass предназначен для FileStreamInformation и удаленная файловая система не поддерживает потоки.

STATUS_OBJECT_NAME_NOT_FOUND

Имя объекта не найдено. Это код ошибки.

Комментарии

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

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

Для элемента Info.FileInformationClass задано значение IrpSp-Parameters.QueryFile.FileInformationClass>, запрошенное значение FILE_INFORMATION_CLASS.

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

Элемент Info.LengthRemaining имеет значение IrpSp-Parameters.QueryFile.Length>.

Элемент QueryDirectory.FileIndex имеет значение IrpSp-Parameters.QueryDirectory.FileIndex>.

Элемент QueryDirectory.RestartScan устанавливается, если для IrpSp-Flags> задан бит SL_RESTART_SCAN.

Элемент QueryDirectory.ReturnSingleEntry задается, если irpSp-Flags> имеет SL_RETURN_SINGLE_ENTRY бит.

Элемент QueryDirectory.InitialQuery задается, если fobx-UnicodeQueryTemplate.Buffer> имеет значение NULL, а fobx-Flags> не имеет FOBX_FLAG_MATCH_ALL бита.

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

RDBSS не поддерживает запросы с SL_INDEX_SPECIFIED битом набора IrpSp-Flags>. Мини-перенаправитель сети не будет принимать вызовы к MRxQueryFileInfo с SL_INDEX_SPECIFIED битом IrpSp-Flags>.

Требования

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

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

Заголовок

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

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

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryEaInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo