Freigeben über


KeExpandKernelStackAndCallout-Funktion (ntddk.h)

Die KeExpandKernelStackAndCallout-Routine ruft eine Routine mit einer garantierten Menge an Stapelspeicher 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 auf dem Stapel an, die für die ExpandedStackCall-Routine bereitgestellt werden sollen. Dieser Wert muss groß genug sein, um die Stapelnutzung der ExpandedStackCall-Routine und alle Aufrufe dieser Routine zu berücksichtigen. Dieser Wert darf MAXIMUM_EXPANSION_SIZE nicht überschreiten.

Rückgabewert

Gibt erfolgreich zurück, wenn die Stapelzuordnung erfolgreich ist und die Legende aufgerufen wurde. Andernfalls wird ein Fehler status zurückgegeben.

Hinweise

KeExpandKernelStackAndCallout erweitert den Kernelstapel um Die Bytesgröße für die Verwendung durch die ExpandedStackCall-Routine . Wenn nicht genügend Speicherplatz auf dem Stapel verfügbar ist, ordnet 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 KeExpandKernelStackAndCallout verwenden. KeExpandKernelStackAndCalloutEx ähnelt KeExpandKernelStackAndCallout , verfügt jedoch über zusätzliche Parameter und kann unter 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 verursacht eine Fehlerüberprüfung.

Anforderungen

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

Weitere Informationen

ExpandedStackCall

KeExpandKernelStackAndCalloutEx

PsTerminateSystemThread