Función PsSetCreateProcessNotifyRoutine (ntddk.h)

La rutina PsSetCreateProcessNotifyRoutine agrega una rutina de devolución de llamada proporcionada por el controlador a una lista de rutinas a las que se llamará cada vez que se crea o elimina un proceso.

Sintaxis

NTSTATUS PsSetCreateProcessNotifyRoutine(
  [in] PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine,
  [in] BOOLEAN                        Remove
);

Parámetros

[in] NotifyRoutine

Especifica el punto de entrada de una rutina de devolución de llamada proporcionada por el autor de la llamada. Consulte PCREATE_PROCESS_NOTIFY_ROUTINE.

[in] Remove

Indica si la rutina especificada por NotifyRoutine debe agregarse o quitarse de la lista de rutinas de notificación del sistema. Si es FALSE, la rutina especificada se agrega a la lista. Si es TRUE, la rutina especificada se quita de la lista.

Valor devuelto

PsSetCreateProcessNotifyRoutine puede devolver una de las siguientes opciones:

Código devuelto Descripción
STATUS_SUCCESS
La instancia de NotifyRoutine especificada ahora está registrada en el sistema.
STATUS_INVALID_PARAMETER
La notificación especificada ya se ha registrado, por lo que esta llamada es una llamada redundante o el sistema ha alcanzado su límite para registrar devoluciones de llamada de creación de procesos.

Comentarios

Los controladores de nivel superior pueden llamar a PsSetCreateProcessNotifyRoutine para configurar sus rutinas de notificación de creación de procesos implementadas como PCREATE_PROCESS_NOTIFY_ROUTINE.

Un controlador de generación de perfiles de sistema de nivel superior o IFS puede registrar una devolución de llamada de creación de procesos para realizar un seguimiento de la creación y eliminación de procesos en todo el sistema en el estado interno del controlador. Para Windows Vista y versiones posteriores de Windows, el sistema puede registrar hasta 64 rutinas de devolución de llamada de creación de procesos.

Un controlador debe quitar las devoluciones de llamada que registre antes de descargarlas. Puede quitar la devolución de llamada llamando a PsSetCreateProcessNotify con Remove = TRUE. Un controlador no debe realizar esta llamada desde su implementación de la rutina de devolución de llamada de PCREATE_PROCESS_NOTIFY_ROUTINE .

Después de registrar una rutina proporcionada por el controlador, se llama a con Create establecido en TRUE justo después de crear el subproceso inicial dentro del proceso recién creado designado por el identificador ProcessId de entrada. El identificador ParentId de entrada identifica el proceso primario del proceso recién creado (este es el elemento primario que se usa para prioridad, afinidad, cuota, token y administración de la herencia, entre otros).

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
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), IrqlPsPassive(wdm), PowerIrpDDis(wdm)

Consulte también

PCREATE_PROCESS_NOTIFY_ROUTINE

PsGetCurrentProcessId

PsSetCreateProcessNotifyRoutineEx

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine