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) |