Função RxFsdPostRequest (rxprocs.h)
RxFsdPostRequest enfileira o IRP (pacote de solicitação de E/S) especificado por uma estrutura RX_CONTEXT para a fila de trabalho para processamento pelo FSP (processo do sistema de arquivos).
Sintaxe
NTSTATUS RxFsdPostRequest(
[in] IN PRX_CONTEXT RxContext
);
Parâmetros
[in] RxContext
Um ponteiro para o RX_CONTEXT que contém o IRP a ser enfileirado em um thread de trabalho.
Retornar valor
RxFsdPostRequest retorna os seguintes valores:
Código de retorno | Descrição |
---|---|
|
Uma solicitação assíncrona foi feita e foi enfileirada em um thread de trabalho para processamento posterior. O status da solicitação está pendente. |
Comentários
RxFsdPostRequest normalmente é chamado pelo RDBSS para processar um IRP (pacote de solicitação de E/S) assíncrono. Normalmente, esses IRPs são recebidos pelo RDBSS em resposta a um aplicativo no modo de usuário que solicita operações em um arquivo. Também é possível que outro driver de kernel emita esse IRP.
Se o membro Flags da estrutura RX_CONTEXT apontada pelo parâmetro RxContext não tiver o RX_CONTEXT_FLAG_NO_PREPOSTING_NEEDED bit definido, o RxFsdPostRequest tentará bloquear qualquer espaço de endereço do usuário necessário para determinados tipos de solicitações. As solicitações que resultam nesse comportamento são baseadas no membro MajorFunction de RX_CONTEXT estrutura apontada por RxContext e incluem o seguinte:
- IRP_MJ_DIRECTORY CONTROL quando A Função Secundária >RxContext é IRP_MN_QUERY_DIRECTORY.
- IRP_MJ_QUERY_EA
- IRP_MJ_READ
- IRP_MJ_SET_EA
- IRP_MJ_WRITE
Se o membro FileObject do IRP não for NULL e a solicitação puder ser postada imediatamente para processamento (o limite para a fila do dispositivo está vazio), isso ocorrerá. Caso contrário, a solicitação será postada em uma fila de estouro no volume.
Todas as chamadas para RxFsdPostRequest são enfileiradas em um thread de trabalho para chamar a rotina RxFsdDispatch passando o parâmetro RxContext .
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | rxprocs.h (inclua Rxprocs.h, Rxcontx.h) |
IRQL | <= APC_LEVEL |