Funzione FsRtlPostStackOverflow (ntifs.h)

La routine FsRtlPostStackOverflow invia un elemento di overflow dello stack al thread di overflow dello stack.

Sintassi

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

Parametri

[in] Context

Puntatore di contesto da passare alla routine di callback dell'overflow dello stack.

[in] Event

Puntatore a un evento di notifica allocato dal chiamante da passare alla routine di callback dell'overflow dello stack. Deve essere stato inizializzato come non firmato chiamando KeInitializeEvent.

[in] StackOverflowRoutine

Puntatore a una routine di callback da richiamare durante l'elaborazione della richiesta nel thread di overflow.

Valore restituito

nessuno

Osservazioni

Un file system chiama in genere FsRtlPostStackOverflow durante un'operazione di I/O di file quando la quantità di spazio dello stack rimanente restituito da IoGetRemainingStackSize è inferiore alla soglia di overflow dello stack del file system per l'operazione. FsRtlPostStackOverflow invia la richiesta di I/O a una coda di lavoro di overflow dello stack speciale. Al termine dell'operazione di I/O, l'evento del chiamante viene impostato su uno stato segnalato.

I driver di filtro del file system devono usare IoQueueWorkItem anziché FsRtlPostStackOverflow, perché IoQueueWorkItem garantisce che l'oggetto dispositivo associato all'elemento di lavoro specificato sia disponibile per l'elaborazione dell'elemento di lavoro.

Se si verifica un errore di allocazione del pool, FsRtlPostStackOverflow genera un'eccezione STATUS_INSUFFICIENT_RESOURCES. Per controllare se si verifica questo errore di allocazione del pool, il driver deve eseguire il wrapping della chiamata a FsRtlPostStackOverflow in un'istruzione try-except o try-finally .

Requisiti

Requisito Valore
Client minimo supportato Windows 2000
Piattaforma di destinazione Universale
Intestazione ntifs.h (include FltKernel.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Vedi anche

FsRtlPostPagingFileStackOverflow

IoGetRemainingStackSize

IoQueueWorkItem

KeInitializeEvent