Compartilhar via


Função ZwTerminateProcess (ntddk.h)

A rotina de ZwTerminateProcess encerra um processo e todos os seus threads.

Sintaxe

NTSYSAPI NTSTATUS ZwTerminateProcess(
  [in, optional] HANDLE   ProcessHandle,
  [in]           NTSTATUS ExitStatus
);

Parâmetros

[in, optional] ProcessHandle

Um identificador para o objeto de processo que representa o processo a ser encerrado.

[in] ExitStatus

Um valor NTSTATUS que o sistema operacional usa como o status final para o processo e cada um de seus threads.

Valor de retorno

ZwTerminateProcess retornará STATUS_SUCCESS se a operação for bem-sucedida. Os valores de retorno adicionais incluem:

Código de retorno Descrição
STATUS_OBJECT_TYPE_MISMATCH O identificador especificado não é um identificador de processo.
STATUS_INVALID_HANDLE O identificador especificado não é válido.
STATUS_ACCESS_DENIED O driver não pode acessar o objeto de processo especificado.
STATUS_PROCESS_IS_TERMINATING O processo especificado já está sendo encerrado.

Se o chamador especificar o processo atual no parâmetro ProcessHandle, ZwTerminateProcess não retornará.

Observações

Para obter um identificador de processo que um driver pode especificar para o parâmetro ProcessHandle, o driver pode chamar ZwOpenProcess. O identificador deve ser um identificador de kernel , um identificador que só pode ser acessado no modo kernel. Um identificador será um identificador de kernel se ele for criado com o sinalizador OBJ_KERNEL_HANDLE. Para obter mais informações, consulte InitializeObjectAttributes.

Os drivers não deverão especificar o processo atual se os recursos não tiverem sido liberados da pilha de kernel, pois o sistema operacional não descontrairá a pilha de kernel para o thread de chamada.

Se a chamada para essa função ocorrer no modo de usuário, você deverá usar o nome "NtTerminateProcess" em vez de "ZwTerminateProcess".

Para chamadas de drivers no modo kernel, as versões NtXxx e Zwxxx versões de uma rotina dos Serviços de Sistema Nativo do Windows podem se comportar de forma diferente na maneira como lidam e interpretam parâmetros de entrada. Para obter mais informações sobre a relação entre as versões NtXxx e ZwXxx de uma rotina, consulte Usando versões Nt e Zw das rotinas de serviços do sistema nativo.

Requisitos

Requisito Valor
da Plataforma de Destino Universal
cabeçalho ntddk.h (inclua Ntddk.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
regras de conformidade de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Consulte também

usando versões Nt e Zw das rotinas de serviços do sistema nativo

do ZwOpenProcess