Freigeben über


FsRtlPostStackOverflow-Funktion (ntifs.h)

Die FsRtlPostStackOverflow-Routine postet ein Stapelüberlaufelement im Stapelüberlaufthread.

Syntax

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

Parameter

[in] Context

Ein Kontextzeiger, der an die Stapelüberlaufrückrufroutine übergeben werden soll.

[in] Event

Ein Zeiger auf ein anruferseitig zugewiesenes Benachrichtigungsereignis, das an die Stapelüberlaufrückrufroutine übergeben werden soll. Muss durch Aufrufen von KeInitializeEvent als nicht signalisiert initialisiert worden sein.

[in] StackOverflowRoutine

Ein Zeiger auf eine Rückrufroutine, die beim Verarbeiten der Anforderung im Überlaufthread aufgerufen werden soll.

Rückgabewert

Keine

Bemerkungen

Ein Dateisystem ruft normalerweise FsRtlPostStackOverflow während eines Datei-E/A-Vorgangs auf, wenn die Von IoGetRemainingStackSize zurückgegebene Menge des verbleibenden Stapelspeichers unter dem Stapelüberlaufschwellenwert des Dateisystems für den Vorgang liegt. FsRtlPostStackOverflow sendet die E/A-Anforderung an eine spezielle Stapelüberlaufarbeitswarteschlange. Wenn der E/A-Vorgang abgeschlossen ist, wird das Ereignis des Aufrufers auf einen signalierten Zustand festgelegt.

Dateisystemfiltertreiber sollten IoQueueWorkItem anstelle von FsRtlPostStackOverflow verwenden, da IoQueueWorkItem sicherstellt, dass das Geräteobjekt, das dem angegebenen Arbeitselement zugeordnet ist, für die Verarbeitung des Arbeitselements verfügbar ist.

Wenn ein Poolzuordnungsfehler auftritt, löst FsRtlPostStackOverflow eine STATUS_INSUFFICIENT_RESOURCES Ausnahme aus. Um kontrolle zu erhalten, wenn dieser Poolzuordnungsfehler auftritt, sollte der Treiber den Aufruf von FsRtlPostStackOverflow in einer try-except- oder try-finally-Anweisung umschließen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000
Zielplattform Universell
Header ntifs.h (include FltKernel.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Weitere Informationen

FsRtlPostPagingFileStackOverflow

IoGetRemainingStackSize

IoQueueWorkItem

KeInitializeEvent