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 |