Função PsSetCreateThreadNotifyRoutineEx (ntddk.h)

A rotina PsSetCreateThreadNotifyRoutineEx registra um retorno de chamada fornecido pelo driver que é notificado posteriormente 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.

Retornar valor

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

Comentários

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 IFS ou um driver de criação 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 será diferente de 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 PsRemoveCreateThreadNotifyRoutine .

Requisitos

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

Confira também

PsGetCurrentProcessId

PsGetCurrentThreadId

PsIsSystemThread

PsRemoveCreateThreadNotifyRoutine

PsSetCreateProcessNotifyRoutine

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine