Compartir a través de


Función PsSetCreateProcessNotifyRoutineEx (ntddk.h)

El PsSetCreateProcessNotifyRoutineEx rutina registra o quita una rutina de devolución de llamada que notifica al autor de la llamada cuando se crea o sale un proceso.

Sintaxis

NTSTATUS PsSetCreateProcessNotifyRoutineEx(
  [in] PCREATE_PROCESS_NOTIFY_ROUTINE_EX NotifyRoutine,
  [in] BOOLEAN                           Remove
);

Parámetros

[in] NotifyRoutine

Puntero a la rutina PCREATE_PROCESS_NOTIFY_ROUTINE_EX para registrar o quitar. El sistema operativo llama a esta rutina cada vez que se crea un nuevo proceso.

[in] Remove

Valor booleano que especifica si PsSetCreateProcessNotifyRoutineEx agregará o quitará una rutina especificada de la lista de rutinas de devolución de llamada. Si este parámetro es TRUE, la rutina especificada se quita de la lista de rutinas de devolución de llamada. Si este parámetro es FALSE, la rutina especificada se agrega a la lista de rutinas de devolución de llamada. Si Quitar es TRUE, el sistema también espera a que se completen todas las rutinas de devolución de llamada en curso antes de volver.

Valor devuelto

PsSetCreateProcessNotifyRoutineEx devuelve uno de los siguientes valores NTSTATUS:

Código devuelto Descripción
STATUS_SUCCESS
La rutina especificada ahora está registrada con el sistema operativo. El sistema operativo llama a esta rutina cada vez que se crea un nuevo proceso.
STATUS_INVALID_PARAMETER
La rutina especificada ya estaba registrada o el sistema operativo ha alcanzado su límite para registrar rutinas de devolución de llamada de creación de procesos.
STATUS_ACCESS_DENIED
La imagen que contiene el puntero rutina de devolución de llamada no tenía IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY establecido en su encabezado de imagen.

Observaciones

Los controladores de nivel superior pueden llamar a psSetCreateProcessNotifyRoutineEx para registrar una rutina de PCREATE_PROCESS_NOTIFY_ROUTINE_EX. Un sistema de archivos instalable (IFS) o un controlador de generación de perfiles de sistema de nivel superior podría registrar una rutina de devolución de llamada de creación de procesos para realizar un seguimiento de los procesos que se crean y eliminan en el estado interno del controlador en todo el sistema.

Un controlador debe quitar las rutinas de devolución de llamada que registre antes de descargarla. Puede quitar la rutina de devolución de llamada llamando a PsSetCreateProcessNotifyRoutineEx con Remove establecido en TRUE. Un controlador no debe realizar esta llamada desde su implementación de la rutina de devolución de llamada PCREATE_PROCESS_NOTIFY_ROUTINE_EX.

El sistema operativo llama a la rutina de notificación de procesos del controlador en PASSIVE_LEVEL dentro de una región crítica con API de kernel normales deshabilitado. Cuando se crea un proceso, la rutina de notificación de procesos se ejecuta en el contexto del subproceso que creó el nuevo proceso. Cuando se elimina un proceso, la rutina de notificación de procesos se ejecuta en el contexto del último subproceso para salir del proceso.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows Vista con SP1 y Windows Server 2008.
de la plataforma de destino de Universal
encabezado de ntddk.h (incluya Ntddk.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL PASSIVE_LEVEL
reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Consulte también

PCREATE_PROCESS_NOTIFY_ROUTINE_EX

PS_CREATE_NOTIFY_INFO

PsSetCreateProcessNotifyRoutine