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 |