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 |