Compartilhar via


Função PsSetCreateThreadNotifyRoutineEx (ntddk.h)

A rotina de PsSetCreateThreadNotifyRoutineEx registra um retorno de chamada fornecido pelo driver que é posteriormente notificado quando um novo thread é criado e quando esse thread é excluído.

Sintaxe

NTSTATUS PsSetCreateThreadNotifyRoutineEx(
  [in] PSCREATETHREADNOTIFYTYPE NotifyType,
  [in] PVOID                    NotifyInformation
);

Parâmetros

[in] NotifyType

Um valor PSCREATETHREADNOTIFYTYPE que indica o tipo de notificação de thread.

[in] NotifyInformation

Fornece o endereço das informações de notificação para o tipo especificado de notificação de thread. Se NotifyType for PsCreateThreadNotifyNonSystem ou PsCreateThreadNotifySubsystems, NotifyInformation deverá ser um ponteiro para a implementação do driver de PCREATE_THREAD_NOTIFY_ROUTINE.

Valor de retorno

PsSetCreateThreadNotifyRoutineEx retorna STATUS_SUCCESS ou retorna STATUS_INSUFFICIENT_RESOURCES se falhou no registro de retorno de chamada.

Observações

Os drivers de nível mais alto podem chamar PsSetCreateThreadNotifyRoutineEx para configurar suas rotinas de notificação de criação de threads.

Por exemplo, um driver ifs ou de perfil de sistema de nível mais alto pode registrar esse retorno de chamada de criação de thread para acompanhar a criação e a exclusão de threads em todo o sistema em relação ao estado interno do driver.

Se NotifyType for PsCreateThreadNotifyNonSystem, a rotina PsSetCreateThreadNotifyRoutineEx difere da PsSetCreateThreadNotifyRoutine no contexto em que o retorno de chamada é executado. Com PsSetCreateThreadNotifyRoutine, o retorno de chamada é executado no thread do criador. Com PsSetCreateThreadNotifyRoutineEx, o retorno de chamada é executado no thread recém-criado.

Um driver deve remover qualquer função de retorno de chamada que ele registra antes de descarregar. Você pode remover o retorno de chamada chamando a rotina de PsRemoveCreateThreadNotifyRoutine.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível a partir do Windows 10.
da Plataforma de Destino Universal
cabeçalho ntddk.h (inclua Ntddk.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Consulte também

PsGetCurrentProcessId

PsGetCurrentThreadId

PsIsSystemThread

PsRemoveCreateThreadNotifyRoutine

PsSetCreateProcessNotifyRoutine

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine