Partager via


KeExpandKernelStackAndCallout, fonction (ntddk.h)

La routine KeExpandKernelStackAndCallout appelle une routine avec une quantité garantie d’espace de pile.

Syntaxe

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

Paramètres

[in] Callout

Pointeur vers une routine ExpandedStackCall .

[in, optional] Parameter

Spécifie le paramètre à passer à la routine ExpandedStackCall .

[in] Size

Spécifie le nombre d’octets sur la pile à fournir à la routine ExpandedStackCall . Cette valeur doit être suffisamment grande pour prendre en charge l’utilisation de la pile de la routine ExpandedStackCall et tout appel que cette routine peut effectuer. Cette valeur ne doit pas dépasser MAXIMUM_EXPANSION_SIZE.

Valeur retournée

Retourne la réussite si l’allocation de la pile réussit et si la légende a été appelée. Sinon, retourne une status d’échec.

Remarques

KeExpandKernelStackAndCallout développe la pile du noyau par taille d’octets à utiliser par la routine ExpandedStackCall . S’il n’y a pas suffisamment d’espace disponible sur la pile, KeExpandKernelStackAndCallout alloue un nouveau segment de pile de noyau. La routine appelle ensuite la routine ExpandedStackCall .

Dans Windows 7, Windows Server 2008 R2 et les versions ultérieures de Windows, envisagez d’utiliser la routine KeExpandKernelStackAndCalloutEx au lieu de KeExpandKernelStackAndCallout. KeExpandKernelStackAndCalloutEx est similaire à KeExpandKernelStackAndCallout , mais a des paramètres supplémentaires et peut être appelé à l’adresse IRQL <= DISPATCH_LEVEL.

Le thread appelant ne doit pas appeler la routine PsTerminateSystemThread tant que la routine ExpandedStackCall du thread n’est pas retournée. PsTerminateSystemThread vérifie si la routine ExpandedStackCall est toujours active et, si elle l’est, provoque un bogue case activée.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows Server 2003 sur les processeurs x64 et à partir de Windows Vista sur tous les processeurs.
Plateforme cible Universal
En-tête ntddk.h (inclure Ntddk.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Voir aussi

ExpandedStackCall

KeExpandKernelStackAndCalloutEx

PsTerminateSystemThread