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