Compartilhar via


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 de ExpandedStackCall.

[in, optional] Parameter

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

[in] Size

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

Valor de retorno

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

Observações

KeExpandKernelStackAndCallout expande a pilha de kernel Tamanho bytes para uso pela rotina de 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 dekeexpandKernelStackAndCalloutExem 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 de PsTerminateSystemThread até que a rotina de ExpandedStackCall do do thread seja retornada. PsTerminateSystemThread verifica se a rotina ExpandedStackCall ainda está ativa e, se estiver, causará uma verificação de bug.

Requisitos

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

Consulte também

ExpandedStackCall

KeExpandKernelStackAndCalloutEx

PsTerminateSystemThread