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


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

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

Синтаксис

PMRX_CALLDOWN MRxQueryDirectory;

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

Параметры

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

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

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

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

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

STATUS_INSUFFICIENT_RESOURCES

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

STATUS_INVALID_NETWORK_RESPONSE

С удаленного сервера получен недопустимый буфер сведений о файлах, или возвращенная длина имени файла превысила максимально допустимую длину.

STATUS_INVALID_PARAMETER

Недопустимый параметр FileInformationClass был указан в элементе Info.FileInformationClass в структуре RX_CONTEXT, на которую указывает параметр RxContext .

STATUS_LINK_FAILED

Попытка повторно подключиться к удаленному серверу для выполнения запроса завершилась сбоем.

STATUS_NO_SUCH_FILE

Запросу не удалось найти какие-либо записи.

STATUS_SHARING_VIOLATION

Произошло нарушение общего доступа.

Комментарии

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

Член Info.FileInformationClass имеет значение IrpSp-Parameters.QueryDirectory.FileInformationClass>.

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

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

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

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

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

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

Элемент QueryDirectory.InitialQuery имеет ненулевое значение, если элемент UnicodeQueryTemplate.Buffer связанного FOBX имеет значение NULL , а в элементе Flags FOBX нет бита FOBX_FLAG_MATCH_ALL.

Для дикого запроса карта (например, "*.*") RDBSS задаст члену ЮникодаQueryTemplate.Buffer связанного FOBX значение дикого карта переданного запроса.

Если элемент PostRequest структуры RX_CONTEXT имеет значение TRUE при возврате из MRxQueryDirectory, RDBSS вызовет RxFsdPostRequest , передав структуру RX_CONTEXT в рабочую очередь для обработки процессом файловой системы (FSP).

Требования

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

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

Заголовок

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

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

MRxIsValidDirectory

MRxQueryEaInfo

MRxQueryFileInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo

RxFsdPostRequest