Função PsLookupThreadByThreadId (ntifs.h)
A rotina PsLookupThreadByThreadId aceita a ID de thread de um thread e retorna um ponteiro referenciado para a estrutura ETHREAD do thread.
Sintaxe
NTSTATUS PsLookupThreadByThreadId(
[in] HANDLE ThreadId,
[out] PETHREAD *Thread
);
Parâmetros
[in] ThreadId
Especifica a ID do thread.
[out] Thread
Retorna um ponteiro referenciado para a estrutura ETHREAD do thread especificado pelo ThreadId.
Retornar valor
PsLookupThreadByThreadId retorna STATUS_SUCCESS com êxito ou um valor NTSTATUS apropriado, como:
Código de retorno | Descrição |
---|---|
|
A ID do thread não foi encontrada. |
Comentários
Essa rotina está disponível no Windows 2000 e versões posteriores.
Se a chamada para PsLookupThreadByThreadId for bem-sucedida, PsLookupThreadByThreadId aumentará a contagem de referência no objeto retornado no parâmetro Thread . Consequentemente, quando um driver é concluído usando o parâmetro Thread , o driver deve chamar ObDereferenceObject para desreferenciar o parâmetro Thread recebido da rotina PsLookupThreadByThreadId .
A estrutura ETHREAD é uma estrutura de dados opaca usada internamente pelo sistema operacional. Essa estrutura pode ser passada para outras rotinas para acessar informações específicas nessa estrutura.
Um driver de filtro do sistema de arquivos pode enumerar threads ativos chamando PsLookupThreadByThreadId para converter uma ID de thread em uma estrutura ETHREAD. A ID do thread está disponível na rotina de criação de thread. Um driver de filtro do sistema de arquivos pode definir uma rotina de retorno de chamada de notificação de thread usando PsSetCreateThreadNotifyRoutine. Na rotina de retorno de chamada de notificação, o driver de filtro do sistema de arquivos pode usar o parâmetro ThreadId passado e chamar PsLookupThreadByThreadId para localizar a estrutura ETHREAD.
A rotina PsLookupThreadByThreadId contém código paginável.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | ntifs.h (inclua Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
Confira também
PsRemoveCreateThreadNotifyRoutine
PsRemoveLoadImageNotifyRoutine