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 |
---|---|
|
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. |
|
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. |
|
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) |