Compartir a través de


Función RxFsdPostRequest (rxprocs.h)

RxFsdPostRequest pone en cola el paquete de solicitud de E/S (IRP) especificado por una estructura de RX_CONTEXT en la cola de trabajo para su procesamiento por el proceso del sistema de archivos (FSP).

Sintaxis

NTSTATUS RxFsdPostRequest(
  [in] IN PRX_CONTEXT RxContext
);

Parámetros

[in] RxContext

Puntero al RX_CONTEXT que contiene el IRP que se va a poner en cola en un subproceso de trabajo.

Valor devuelto

RxFsdPostRequest devuelve los valores siguientes:

Código devuelto Descripción
STATUS_PENDING
Se realizó una solicitud asincrónica y se ha puesto en cola en un subproceso de trabajo para su posterior procesamiento. El estado de la solicitud está pendiente.

Comentarios

RdBSS normalmente llama a RxFsdPostRequest para procesar un paquete de solicitud de E/S asincrónica (IRP). Estos IRP normalmente los recibe RDBSS en respuesta a una aplicación en modo de usuario que solicita operaciones en un archivo. También es posible que otro controlador de kernel emita este tipo de IRP.

Si el miembro Flags de la estructura de RX_CONTEXT al que apunta el parámetro RxContext no tiene establecido el bit de RX_CONTEXT_FLAG_NO_PREPOSTING_NEEDED, RxFsdPostRequest intentará bloquear cualquier espacio de direcciones de usuario que sea necesario para determinados tipos de solicitudes. Las solicitudes que dan lugar a este comportamiento se basan en el miembro MajorFunction de RX_CONTEXT estructura a la que apunta RxContext e incluyen lo siguiente:

  • IRP_MJ_DIRECTORY CONTROL cuando RxContext->MinorFunction está IRP_MN_QUERY_DIRECTORY.
  • IRP_MJ_QUERY_EA
  • IRP_MJ_READ
  • IRP_MJ_SET_EA
  • IRP_MJ_WRITE
El miembro MajorFunction de RxContext determinará a qué cola de trabajo se publicará esta solicitud. Una solicitud de IRP_MJ_DEVICE_CONTROL en la que el miembro Parameters.DeviceIoControl.IoControlCode se IOCTL_REDIR_QUERY_PATH se publicará en la cola de trabajo retrasada. En el caso, el miembro Flags del parámetro RxContext tendrá el RX_CONTEXT_FLAG_FSP_DELAYED_OVERFLOW_QUEUE bit establecido. Todas las demás solicitudes se publican en la cola de trabajo crítica y el miembro Flags del parámetro RxContext tendrá el RX_CONTEXT_FLAG_FSP_CRITICAL_OVERFLOW_QUEUE bit establecido.

Si el miembro FileObject del IRP no es NULL y la solicitud se puede publicar inmediatamente para su procesamiento (el umbral de la cola del dispositivo está vacío), esto se producirá. De lo contrario, la solicitud se publicará en una cola de desbordamiento en el volumen.

Todas las llamadas a RxFsdPostRequest se ponen en cola en un subproceso de trabajo para llamar a la rutina RxFsdDispatch pasando el parámetro RxContext .

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado rxprocs.h (incluya Rxprocs.h, Rxcontx.h)
IRQL <= APC_LEVEL

Consulte también

RxFsdDispatch