Função KeExpandKernelStackAndCallout (ntddk.h)

A rotina KeExpandKernelStackAndCallout chama uma rotina com uma quantidade garantida de espaço na pilha.

Sintaxe

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

Parâmetros

[in] Callout

Ponteiro para uma rotina ExpandedStackCall .

[in, optional] Parameter

Especifica o parâmetro a ser passado para a rotina ExpandedStackCall .

[in] Size

Especifica o número de bytes na pilha a serem fornecidos à rotina ExpandedStackCall . Esse valor deve ser grande o suficiente para acomodar o uso de pilha da rotina ExpandedStackCall e qualquer chamada que essa rotina possa fazer. Esse valor não deve exceder MAXIMUM_EXPANSION_SIZE.

Retornar valor

Retorna êxito se a alocação de pilha for bem-sucedida e o texto explicativo tiver sido chamado. Caso contrário, retorna uma falha status.

Comentários

KeExpandKernelStackAndCallout expande a pilha de kernel por bytes de tamanho para uso pela rotina ExpandedStackCall . Se não houver espaço suficiente disponível na pilha, KeExpandKernelStackAndCallout alocará um novo segmento de pilha de kernel. Em seguida, a rotina chama a rotina ExpandedStackCall .

No Windows 7, Windows Server 2008 R2 e versões posteriores do Windows, considere usar a rotina KeExpandKernelStackAndCalloutEx em vez de KeExpandKernelStackAndCallout. KeExpandKernelStackAndCalloutEx é semelhante a KeExpandKernelStackAndCallout , mas tem parâmetros adicionais e pode ser chamado em IRQL <= DISPATCH_LEVEL.

O thread de chamada não deve chamar a rotina PsTerminateSystemThread até que a rotina ExpandedStackCall do thread retorne. PsTerminateSystemThread verifica se a rotina ExpandedStackCall ainda está ativa e, se estiver, causa um bug marcar.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows Server 2003 em processadores baseados em x64 e começando pelo Windows Vista em todos os processadores.
Plataforma de Destino Universal
Cabeçalho ntddk.h (inclua Ntddk.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Confira também

ExpandedStackCall

KeExpandKernelStackAndCalloutEx

PsTerminateSystemThread