Partager via


KeExpandKernelStackAndCallout, fonction (ntddk.h)

Le KeExpandKernelStackAndCallout routine 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 de retour

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

Remarques

KeExpandKernelStackAndCallout développe la pile du noyau par Size octets à utiliser par la routine ExpandStackCall. 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 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'<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, le cas échéant, provoque une vérification de bogue.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows Server 2003 sur les processeurs x64 et à partir de Windows Vista sur tous les processeurs.
plateforme cible Universel
d’en-tête ntddk.h (include Ntddk.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Voir aussi

ExpandedStackCall

KeExpandKernelStackAndCalloutEx

psTerminateSystemThread