Compartir a través de


Función KeExpandKernelStackAndCallout (ntddk.h)

La rutina KeExpandKernelStackAndCallout llama a una rutina con una cantidad garantizada de espacio de pila.

Sintaxis

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

Parámetros

[in] Callout

Puntero a una rutina ExpandedStackCall .

[in, optional] Parameter

Especifica el parámetro que se va a pasar a la rutina ExpandedStackCall .

[in] Size

Especifica el número de bytes de la pila que se va a proporcionar a la rutina ExpandedStackCall . Este valor debe ser lo suficientemente grande como para dar cabida al uso de pila de la rutina ExpandedStackCall y cualquier llamada que pueda realizar esta rutina. Este valor no debe superar MAXIMUM_EXPANSION_SIZE.

Valor devuelto

Devuelve el resultado correcto si la asignación de la pila es correcta y se ha llamado a la llamada. De lo contrario, devuelve un estado de error.

Comentarios

KeExpandKernelStackAndCallout expande la pila del kernel por bytes size para su uso por la rutina ExpandedStackCall . Si no hay suficiente espacio disponible en la pila, KeExpandKernelStackAndCallout asigna un nuevo segmento de pila de kernel. A continuación, la rutina llama a la rutina ExpandedStackCall .

En Windows 7, Windows Server 2008 R2 y versiones posteriores de Windows, considere la posibilidad de usar la rutina KeExpandKernelStackAndCalloutEx en lugar de KeExpandKernelStackAndCallout. KeExpandKernelStackAndCalloutEx es similar a KeExpandKernelStackAndCallout , pero tiene parámetros adicionales y se puede llamar a en IRQL <= DISPATCH_LEVEL.

El subproceso que realiza la llamada no debe llamar a la rutina PsTerminateSystemThread hasta que se devuelva la rutina ExpandedStackCall del subproceso. PsTerminateSystemThread comprueba si la rutina ExpandedStackCall sigue activa y, si es así, provoca una comprobación de errores.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows Server 2003 en procesadores basados en x64 y a partir de Windows Vista en todos los procesadores.
Plataforma de destino Universal
Encabezado ntddk.h (incluya Ntddk.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Consulte también

ExpandedStackCall

KeExpandKernelStackAndCalloutEx

PsTerminateSystemThread