Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A rotina PsGetCurrentThreadTeb retorna o TEB (Thread Environment Block) do thread atual ou NULL. A chamada deve ser feita no modo kernel.
Sintaxe
PVOID PsGetCurrentThreadTeb();
Valor de retorno
Um ponteiro para o bloco de ambiente de thread do thread atual. O TEB deve ser acessado em um bloco de exceção try/catch.
PsGetCurrentThreadTeb retorna NULL nos seguintes casos:
- O thread atual não tem um TEB (por exemplo, um thread do sistema).
- O thread atual não pode acessar com segurança seu próprio TEB. Isso pode acontecer se o driver anexou o thread ao espaço de endereço de outro processo, por exemplo, chamando KeStackAttachProcess.
Observações
Embora PsGetCurrentThreadTeb possa ser chamado em qualquer IRQL sem causar uma verificação de bugs, o TEB não é seguro para acessar em DISPATCH_LEVEL ou superior (pode ser paginado). Além disso, se você estiver chamando o IRQL elevado do contexto de uma interrupção ou DPC, o thread atual é o que aconteceu de estar em execução no processador atual quando a interrupção foi entregue lá. Como resultado, é recomendável que você chame PsGetCurrentThreadTeb do contexto de thread abaixo DISPATCH_LEVEL.
Requisitos
| Requisito | Valor |
|---|---|
| de cliente com suporte mínimo | Disponível no Windows 7 e versões posteriores do Windows. |
| da Plataforma de Destino | Universal |
| cabeçalho | ntddk.h |
| biblioteca | NtosKrnl.lib |
| de DLL | NtosKrnl.exe |
| IRQL | Qualquer nível (consulte Comentários) |