Compartir a través de


Rutina MRxQueryFileInfo

RDBSS llama a la rutinaMRxQueryFileInfo para solicitar que una minidirectora de red consulte la información del archivo de consulta en un objeto del sistema de archivos.

Sintaxis

PMRX_CALLDOWN MRxQueryFileInfo;

NTSTATUS MRxQueryFileInfo(
  _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

MRxQueryFileInfo devuelve STATUS_SUCCESS si se ha realizado 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_BUFFER_OVERFLOW

El búfer para recibir la información del archivo era demasiado pequeño.

Este valor devuelto debe considerarse correcto y se deben devolver tantos datos válidos como sea posible en el miembro Info.Buffer de la estructura RX_CONTEXT a la que apunta el parámetro RxContext .

STATUS_BUFFER_TOO_SMALL

El búfer es demasiado pequeño para recibir los datos solicitados.

Si se devuelve este valor, el miembro InformationToReturn de la estructura RX_CONTEXT a la que apunta el parámetro RxContext debe establecerse en el tamaño mínimo del búfer esperado para que la llamada se realice correctamente.

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.

STATUS_INVALID_PARAMETER

Se especificó un parámetro no válido.

Este valor se puede devolver si se pasa un valor no válido para el miembro FileInformationClass del RX_CONTEXT. Este valor también se puede devolver si el miembro FileInformationClass especificado es para FileStreamInformation y el sistema de archivos remoto no admite secuencias.

STATUS_OBJECT_NAME_NOT_FOUND

No se encontró el nombre del objeto. Se trata de un código de error.

Comentarios

RDBSS emite una llamada a MRxQueryFileInfo en respuesta a la recepción de una solicitud de IRP_MJ_QUERY_INFORMATION .

Antes de llamar a MRxQueryFileInfo, 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.QueryFile.FileInformationClass>, el valor de FILE_INFORMATION_CLASS solicitado.

El miembro Info.Buffer se establece en el búfer de usuario del paquete de solicitud de E/S.

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

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

El miembro QueryDirectory.RestartScan se establece si IrpSp-Flags> tiene el SL_RESTART_SCAN bit establecido.

El miembro QueryDirectory.ReturnSingleEntry se establece si IrpSp-Flags> tiene SL_RETURN_SINGLE_ENTRY bit establecido.

El miembro QueryDirectory.InitialQuery se establece si Fobx-UnicodeQueryTemplate.Buffer> es NULL y Fobx-Flags> no tiene establecido el bit de FOBX_FLAG_MATCH_ALL.

Si se ejecuta correctamente, el minidirector de red debe establecer el miembro Info.LengthRemaining de la estructura de RX_CONTEXT en miembro Info.Length menos la longitud de la información de archivo devuelta. Si la llamada a MRxQueryFileInfo se realizó correctamente, RDBSS establece el miembro IoStatus.Information del IRP en IrpSp-Parameters.QueryFile.Length> menos el miembro Info.LengthRemaining de RX_CONTEXT.

RDBSS no admite solicitudes con el bit SL_INDEX_SPECIFIED del conjunto irpSp-Flags>. Un minidirector de red no recibirá llamadas a MRxQueryFileInfo con el bit SL_INDEX_SPECIFIED de IrpSp-Flags> establecido.

Requisitos

Plataforma de destino

Escritorio

Encabezado

Mrx.h (incluya Mrx.h)

Consulte también

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryEaInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo