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