Função ZwTerminateProcess (ntddk.h)
A rotina 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.
Retornar valor
ZwTerminateProcess retornará STATUS_SUCCESS se a operação for bem-sucedida. Os valores retornados 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á.
Comentários
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 devem especificar o processo atual se os recursos não tiverem sido liberados da pilha de kernel, pois o sistema operacional não desenrolará 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 de uma rotina dos Serviços do 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 dos Serviços de Sistema Nativo.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | ntddk.h (inclua Ntddk.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Regras de conformidade de DDI | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |
Confira também
Usando versões Nt e Zw das rotinas dos Serviços de Sistema Nativo