Compartir a través de


Función KeExpandKernelStackAndCallout (ntddk.h)

La rutina KeExpandKernelStackAndCall out 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 de ExpandedStackCall.

[in, optional] Parameter

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

[in] Size

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

Valor devuelto

Devuelve correctamente si la asignación de la pila se realiza correctamente y se ha llamado a la llamada. De lo contrario, devuelve un estado de error.

Observaciones

KeExpandKernelStackAndCallout expande la pila del kernel Bytes de tamaño para su uso por la rutina expandedStackCall de. 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 de KeExexpandKernelStackAndCallout Ex 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 de llamada no debe llamar a la rutina PsTerminateSystemThread hasta que se devuelva la rutina de ExpandedStackCall del subproceso. PsTerminateSystemThread comprueba si la rutina ExpandedStackCall sigue activa y, si es así, provoca una comprobación de errores.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows Server 2003 en procesadores basados en x64 y a partir de Windows Vista en todos los procesadores.
de la plataforma de destino de Universal
encabezado de ntddk.h (incluya Ntddk.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL <= APC_LEVEL

Consulte también

ExpandedStackCall

KeExexExex ex

PsTerminateSystemThread