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