Função PsSetCreateProcessNotifyRoutine (ntddk.h)

A rotina PsSetCreateProcessNotifyRoutine adiciona uma rotina de retorno de chamada fornecida pelo driver ou a remove de uma lista de rotinas a serem chamadas sempre que um processo é criado ou excluído.

Sintaxe

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

Parâmetros

[in] NotifyRoutine

Especifica o ponto de entrada de uma rotina de retorno de chamada de criação de processo fornecida pelo chamador. Consulte PCREATE_PROCESS_NOTIFY_ROUTINE.

[in] Remove

Indica se a rotina especificada por NotifyRoutine deve ser adicionada ou removida da lista de rotinas de notificação do sistema. Se FALSE, a rotina especificada será adicionada à lista. Se TRUE, a rotina especificada será removida da lista.

Retornar valor

PsSetCreateProcessNotifyRoutine pode retornar um dos seguintes:

Código de retorno Descrição
STATUS_SUCCESS
A NotifyRoutine fornecida agora está registrada no sistema.
STATUS_INVALID_PARAMETER
A NotifyRoutine fornecida já foi registrada, portanto, essa chamada é uma chamada redundante ou o sistema atingiu seu limite para registrar retornos de chamada de criação de processo.

Comentários

Os drivers de nível mais alto podem chamar PsSetCreateProcessNotifyRoutine para configurar suas rotinas de notificação de criação de processo implementadas como PCREATE_PROCESS_NOTIFY_ROUTINE.

Um DRIVER de criação de perfil de sistema de nível superior ou IFS pode registrar um retorno de chamada de criação de processo para acompanhar a criação e a exclusão de processos em todo o sistema em relação ao estado interno do driver. Para o Windows Vista e versões posteriores do Windows, o sistema pode registrar até 64 rotinas de retorno de chamada de criação de processo.

Um driver deve remover todos os retornos de chamada registrados antes de descarregar. Você pode remover o retorno de chamada chamando PsSetCreateProcessNotify com Remove = TRUE. Um driver não deve fazer essa chamada de sua implementação da rotina de retorno de chamada PCREATE_PROCESS_NOTIFY_ROUTINE.

Depois que uma rotina fornecida pelo driver é registrada, ela é chamada com Create definido como TRUE logo após o thread inicial ser criado dentro do processo recém-criado designado pelo identificador ProcessId de entrada. O identificador ParentId de entrada identifica o processo pai do processo recém-criado (este é o pai usado para prioridade, afinidade, cota, token e herança de identificador, entre outros).

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho ntddk.h (inclua Ntddk.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Regras de conformidade da DDI HwStorPortProhibitedDIs(storport), IrqlPsPassive(wdm), PowerIrpDDis(wdm)

Confira também

PCREATE_PROCESS_NOTIFY_ROUTINE

PsGetCurrentProcessId

PsSetCreateProcessNotifyRoutineEx

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine