Rutina MRxQueryDirectory

RDBSS llama a la rutina MRxQueryDirectory para solicitar que una minidirectora de red consulte información sobre un directorio de archivos.

Sintaxis

PMRX_CALLDOWN MRxQueryDirectory;

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

Parámetros

RxContext [in, out]
Puntero a la estructura RX_CONTEXT. Este parámetro contiene el IRP que solicita la operación.

Valor devuelto

MRxQueryDirectory devuelve STATUS_SUCCESS si se ejecuta correctamente o un valor NTSTATUS adecuado, como uno de los siguientes:

Código devuelto Descripción
STATUS_ACCESS_DENIED

El autor de la llamada no tiene la seguridad adecuada para esta operación.

STATUS_INSUFFICIENT_RESOURCES

No había recursos suficientes para completar la consulta.

STATUS_INVALID_NETWORK_RESPONSE

Se recibió un búfer de información de archivo no válido desde el servidor remoto o una longitud de nombre de archivo que se devolvió superó la longitud máxima permitida.

STATUS_INVALID_PARAMETER

Se especificó un fileInformationClass no válido en el miembro Info.FileInformationClass de la estructura RX_CONTEXT a la que apunta el parámetro RxContext .

STATUS_LINK_FAILED

Error al intentar volver a conectarse a un servidor remoto para completar la consulta.

STATUS_NO_SUCH_FILE

No se pudo encontrar ninguna entrada en la consulta.

STATUS_SHARING_VIOLATION

Se ha producido una infracción de uso compartido.

Comentarios

Antes de llamar a MRxQueryDirectory, RDBSS modifica los siguientes miembros de la estructura RX_CONTEXT a la que apunta el parámetro RxContext :

El miembro Info.FileInformationClass se establece en IrpSp-Parameters.QueryDirectory.FileInformationClass>.

El miembro Info.Buffer se establece en el búfer de usuario del paquete de solicitud de E/S. Este búfer ya está bloqueado por RDBSS si es necesario.

El miembro Info.LengthRemaining se establece en IrpSp-Parameters.QueryDirectory.Length>.

El miembro QueryDirectory.FileIndex se establece en IrpSp-Parameters.QueryDirectory.FileIndex>.

El miembro QueryDirectory.RestartScan se establece en distinto de cero si IrpSp-Flags> tiene el bit de SL_RESTART_SCAN.

El miembro QueryDirectory.ReturnSingleEntry se establece en distinto de cero si IrpSp-Flags> tiene el bit de SL_RETURN_SINGLE_ENTRY.

El miembro QueryDirectory.IndexSpecified se establece en distinto de cero si IrpSp-Flags> tiene el bit de SL_INDEX_SPECIFIED.

El miembro QueryDirectory.InitialQuery se establece en distinto de cero si el miembro UnicodeQueryTemplate.Buffer del FOBX asociado es NULL y el miembro Flags del FOBX no tiene el bit de FOBX_FLAG_MATCH_ALL activado.

Para una consulta de comodín ("*.*", por ejemplo), RDBSS establecerá el miembro UnicodeQueryTemplate.Buffer del FOBX asociado en la consulta de caracteres comodín pasada.

Si el miembro PostRequest de la estructura de RX_CONTEXT es TRUE a cambio de MRxQueryDirectory, RDBSS llamará a RxFsdPostRequest pasando la estructura de RX_CONTEXT a una cola de trabajo para su procesamiento por el proceso del sistema de archivos (FSP).

Requisitos

Plataforma de destino

Escritorio

Encabezado

Mrx.h (incluya Mrx.h)

Consulte también

MRxIsValidDirectory

MRxQueryEaInfo

MRxQueryFileInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo

RxFsdPostRequest