Compartilhar via


Função FsRtlPostStackOverflow (ntifs.h)

O FsRtlPostStackOverflow a rotina posta um item de estouro de pilha no thread de estouro de pilha.

Sintaxe

void FsRtlPostStackOverflow(
  [in] PVOID                         Context,
  [in] PKEVENT                       Event,
  [in] PFSRTL_STACK_OVERFLOW_ROUTINE StackOverflowRoutine
);

Parâmetros

[in] Context

Um ponteiro de contexto a ser passado para a rotina de retorno de chamada de estouro de pilha.

[in] Event

Um ponteiro para um evento de notificação alocado pelo chamador a ser passado para a rotina de retorno de chamada de estouro de pilha. Deve ter sido inicializado como não atribuído chamando KeInitializeEvent.

[in] StackOverflowRoutine

Um ponteiro para uma rotina de retorno de chamada a ser invocada ao processar a solicitação no thread de estouro.

Valor de retorno

Nenhum

Observações

Um sistema de arquivos normalmente chama FsRtlPostStackOverflow durante uma operação de E/S de arquivo quando a quantidade de espaço de pilha restante retornado por IoGetRemainingStackSize está abaixo do limite de estouro de pilha do sistema de arquivos para a operação. FsRtlPostStackOverflow posta a solicitação de E/S em uma fila de trabalho de estouro de pilha especial. Quando a operação de E/S for concluída, o de Evento de do chamador será definido como um estado sinalizado.

Os drivers de filtro do sistema de arquivos devem usar IoQueueWorkItem em vez de FsRtlPostStackOverflow, pois IoQueueWorkItem garante que o objeto de dispositivo associado ao item de trabalho especificado esteja disponível para o processamento do item de trabalho.

Se ocorrer uma falha de alocação de pool, FsRtlPostStackOverflow gerará uma exceção STATUS_INSUFFICIENT_RESOURCES. Para obter controle se essa falha de alocação de pool ocorrer, o driver deverá encapsular a chamada para FsRtlPostStackOverflow em uma instrução try-except ou try-finally.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000
da Plataforma de Destino Universal
cabeçalho ntifs.h (inclua FltKernel.h, Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Consulte também

FsRtlPostPagingFileStackOverflow

IoGetRemainingStackSize

IoQueueWorkItem

KeInitializeEvent