Подпрограмма 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) |