Partilhar via


Função PsSetCreateProcessNotifyRoutine (ntddk.h)

A rotina de PsSetCreateProcessNotifyRoutine adiciona uma rotina de retorno de chamada fornecida pelo driver a 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 verdadeiro, a rotina especificada será removida da lista.

Valor de retorno

PsSetCreateProcessNotifyRoutine pode retornar um dos seguintes:

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

Observações

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 ifs ou de criação de perfil de sistema de nível mais alto 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 os retornos de chamada registrados antes de descarregar. Você pode remover o retorno de chamada chamando PsSetCreateProcessNotify com Remover = VERDADEIRO. 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 Criar definido como verdadeiro logo após o thread inicial ser criado dentro do processo recém-criado designado pelo identificador de ProcessId de de entrada. O identificador de ParentId identifica o processo pai do processo recém-criado (este é o pai usado para prioridade, afinidade, cota, token e manipulação de herança, entre outros).

Requisitos

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

Consulte também

PCREATE_PROCESS_NOTIFY_ROUTINE

PsGetCurrentProcessId

PsSetCreateProcessNotifyRoutineEx

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine