Condividi tramite


Funzione KeExpandKernelStackAndCallout (ntddk.h)

La routine KeExpandKernelStackAndCallout chiama una routine con una quantità garantita di spazio nello stack.

Sintassi

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

Parametri

[in] Callout

Puntatore a una routine ExpandedStackCall .

[in, optional] Parameter

Specifica il parametro da passare alla routine ExpandedStackCall .

[in] Size

Specifica il numero di byte nello stack da fornire alla routine ExpandedStackCall . Questo valore deve essere sufficientemente grande per supportare l'utilizzo dello stack della routine ExpandedStackCall e qualsiasi chiamata che questa routine potrebbe effettuare. Questo valore non deve superare MAXIMUM_EXPANSION_SIZE.

Valore restituito

Restituisce l'esito positivo se l'allocazione dello stack ha esito positivo e viene chiamato il callout. In caso contrario, restituisce uno stato di errore.

Commenti

KeExpandKernelStackAndCallout espande lo stack del kernel in base alle dimensioni byte per l'uso dalla routine ExpandedStackCall . Se nello stack non è disponibile spazio sufficiente, KeExpandKernelStackAndCallout alloca un nuovo segmento dello stack del kernel. La routine chiama quindi la routine ExpandedStackCall .

In Windows 7, Windows Server 2008 R2 e versioni successive di Windows, è consigliabile usare la routine KeExpandKernelStackAndCalloutEx anziché KeExpandKernelStackAndCallout. KeExpandKernelStackAndCalloutEx è simile a KeExpandKernelStackAndCallout , ma ha parametri aggiuntivi e può essere chiamato in IRQL <= DISPATCH_LEVEL.

Il thread chiamante non deve chiamare la routine PsTerminateSystemThread fino a quando non viene restituita la routine ExpandedStackCall del thread. PsTerminateSystemThread controlla se la routine ExpandedStackCall è ancora attiva e, in caso affermativo, causa un controllo di bug.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows Server 2003 su processori basati su x64 e a partire da Windows Vista in tutti i processori.
Piattaforma di destinazione Universale
Intestazione ntddk.h (include Ntddk.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Vedi anche

ExpandedStackCall

KeExpandKernelStackAndCalloutEx

PsTerminateSystemThread