Freigeben über


KeExpandKernelStackAndCallout-Funktion (ntddk.h)

Die KeExpandKernelStackAndCallout Routine ruft eine Routine mit einer garantierten Menge Stapelplatz auf.

Syntax

NTSTATUS
KeExpandKernelStackAndCallout (
    _In_ PEXPAND_STACK_CALLOUT Callout,
    _In_opt_ PVOID Parameter,
    _In_ SIZE_T Size
    );

Parameter

[in] Callout

Zeiger auf eine ExpandedStackCall Routine.

[in, optional] Parameter

Gibt den Parameter an, der an die ExpandedStackCall Routine übergeben werden soll.

[in] Size

Gibt die Anzahl der Bytes im Stapel an, die der ExpandedStackCall Routine bereitgestellt werden sollen. Dieser Wert muss groß genug sein, um die Stapelnutzung der ExpandedStackCall Routine und alle Aufrufe, die diese Routine ausführen kann, aufzunehmen. Dieser Wert darf MAXIMUM_EXPANSION_SIZE nicht überschreiten.

Rückgabewert

Gibt Erfolg zurück, wenn die Stapelzuweisung erfolgreich ist und die Legende aufgerufen wurde. Andernfalls wird ein Fehlerstatus zurückgegeben.

Bemerkungen

KeExpandKernelStackAndCallout erweitert den Kernelstapel um Size Bytes für die Verwendung durch die ExpandedStackCall Routine. Wenn nicht genügend Speicherplatz auf dem Stapel verfügbar ist, weist KeExpandKernelStackAndCallout ein neues Kernelstapelsegment zu. Die Routine ruft dann die ExpandedStackCall Routine auf.

In Windows 7, Windows Server 2008 R2 und höheren Versionen von Windows sollten Sie die KeExpandKernelStackAndCalloutEx Routine anstelle von KeExpandKernelStackAndCalloutverwenden. KeExpandKernelStackAndCalloutEx ähnelt KeExpandKernelStackAndCallout aber zusätzliche Parameter und kann bei IRQL <= DISPATCH_LEVEL aufgerufen werden.

Der aufrufende Thread darf die PsTerminateSystemThread Routine erst aufrufen, wenn die ExpandedStackCall Routine des Threads zurückgegeben wird. PsTerminateSystemThread überprüft, ob die ExpandedStackCall Routine noch aktiv ist und ggf. eine Fehlerüberprüfung verursacht.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows Server 2003 auf x64-basierten Prozessoren und ab Windows Vista auf allen Prozessoren.
Zielplattform- Universal
Header- ntddk.h (include Ntddk.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= APC_LEVEL

Siehe auch

ExpandedStackCall-

KeExpandKernelStackAndCalloutEx

PsTerminateSystemThread-