Función ZwTerminateProcess (ntddk.h)
La rutina ZwTerminateProcess finaliza un proceso y todos sus subprocesos.
Sintaxis
NTSYSAPI NTSTATUS ZwTerminateProcess(
[in, optional] HANDLE ProcessHandle,
[in] NTSTATUS ExitStatus
);
Parámetros
[in, optional] ProcessHandle
Identificador del objeto de proceso que representa el proceso que se va a finalizar.
[in] ExitStatus
Valor NTSTATUS que el sistema operativo usa como estado final para el proceso y cada uno de sus subprocesos.
Valor devuelto
ZwTerminateProcess devuelve STATUS_SUCCESS si la operación se realiza correctamente. Entre los valores devueltos adicionales se incluyen:
Código devuelto | Descripción |
---|---|
STATUS_OBJECT_TYPE_MISMATCH | El identificador especificado no es un identificador de proceso. |
STATUS_INVALID_HANDLE | El identificador especificado no es válido. |
STATUS_ACCESS_DENIED | El controlador no puede tener acceso al objeto de proceso especificado. |
STATUS_PROCESS_IS_TERMINATING | El proceso especificado ya está finalizando. |
Si el llamador especifica el proceso actual en el parámetro ProcessHandle , ZwTerminateProcess no devuelve.
Comentarios
Para obtener un identificador de proceso que un controlador puede especificar para el parámetro ProcessHandle , el controlador puede llamar a ZwOpenProcess. El identificador debe ser un identificador de kernel, un identificador al que solo se puede acceder en modo kernel. Un identificador es un identificador de kernel si se crea con la marca OBJ_KERNEL_HANDLE. Para obtener más información, consulta InitializeObjectAttributes.
Los controladores no deben especificar el proceso actual si los recursos no se han liberado de la pila del kernel, ya que el sistema operativo no desenredará la pila del kernel para el subproceso que realiza la llamada.
Si la llamada a esta función se produce en modo de usuario, debe usar el nombre "NtTerminateProcess" en lugar de "ZwTerminateProcess".
En el caso de las llamadas desde controladores en modo kernel, las versiones NtXxx y ZwXxx de una rutina de Servicios del sistema nativo de Windows se pueden comportar de forma diferente en la forma en que controlan e interpretan los parámetros de entrada. Para obtener más información sobre la relación entre las versiones NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | ntddk.h (incluya Ntddk.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Reglas de cumplimiento de DDI | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |
Consulte también
Uso de las versiones Nt y Zw de las rutinas nativas de Servicios del sistema