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 RX_CONTEXT a 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 siguientes valores:

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.

Observaciones

RDBSS llama normalmente a RxFsdPostRequest para procesar un paquete de solicitud de E/S asincrónico (IRP). Normalmente, RDBSS recibe estos IRP 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 RX_CONTEXT a la que apunta el parámetro RxContext no tiene establecido el RX_CONTEXT_FLAG_NO_PREPOSTING_NEEDED bit, RxFsdPostRequest intentará bloquear cualquier espacio de direcciones de usuario que sea necesario para determinados tipos de solicitudes. Las solicitudes que dan como resultado este comportamiento se basan en el miembro majorFunction de de RX_CONTEXT estructura a la que apunta rxContext e incluyen lo siguiente:

  • IRP_MJ_DIRECTORY CONTROL cuando se IRP_MN_QUERY_DIRECTORY RxContext->MinorFunction.
  • 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 IRP_MJ_DEVICE_CONTROL en la que el miembro de 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á establecido el RX_CONTEXT_FLAG_FSP_DELAYED_OVERFLOW_QUEUE bit. Todas las demás solicitudes se publican en la cola de trabajo crítica y el miembro Flags del parámetro RxContext de tendrá el RX_CONTEXT_FLAG_FSP_CRITICAL_OVERFLOW_QUEUE bit establecido.

Si el FileObject miembro 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 al rxFsdDispatch rutina pasando el parámetro RxContext.

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de rxprocs.h (include Rxprocs.h, Rxcontx.h)
irQL <= APC_LEVEL

Consulte también

RxFsdDispatch