Função NtSetInformationThread (ntifs.h)
A rotina NtSetInformationThread define a prioridade de um thread.
Sintaxe
__kernel_entry NTSYSCALLAPI NTSTATUS NtSetInformationThread(
[in] HANDLE ThreadHandle,
[in] THREADINFOCLASS ThreadInformationClass,
[in] PVOID ThreadInformation,
[in] ULONG ThreadInformationLength
);
Parâmetros
[in] ThreadHandle
Manipule para o objeto thread. Para criar um novo thread e obter um identificador para ele, chame PsCreateSystemThread. Para especificar o thread atual, use a macro ZwCurrentThread .
[in] ThreadInformationClass
Um dos valores definidos pelo sistema na enumeração THREADINFOCLASS (consulte ntddk.h), ThreadPriority, ThreadBasePriority, ThreadPagePriority ou ThreadPowerThrottlingState.
[in] ThreadInformation
Ponteiro para uma variável que especifica as informações a serem definidas.
Se ThreadInformationClass for ThreadPriority, esse valor deverá ser > LOW_PRIORITY e <= HIGH_PRIORITY.
Se ThreadInformationClass for ThreadBasePriority, esse valor deverá estar dentro do intervalo de prioridade base válido do sistema e da classe de prioridade original para o thread fornecido. Ou seja, se a classe de prioridade de um thread for variável, a prioridade base desse thread não poderá ser redefinida para um valor de prioridade em tempo real e vice-versa.
Se ThreadInformationClass for ThreadPagePriority, esse valor será um ponteiro para uma estrutura PAGE_PRIORITY_INFORMATION , consulte ntddk.h. O valor do membro PagePriority deve ser um desses valores.
Se ThreadInformationClass for ThreadPowerThrottlingState, esse valor será um ponteiro para uma estrutura POWER_THROTTLING_THREAD_STATE , consulte ntddk.h. O valor do membro PagePriority deve ser um desses valores.
Valor | Significado |
---|---|
MEMORY_PRIORITY_VERY_LOW (1) | Prioridade de memória muito baixa. |
MEMORY_PRIORITY_LOW (2) | Baixa prioridade de memória. |
MEMORY_PRIORITY_MEDIUM (3) | Prioridade média de memória. |
MEMORY_PRIORITY_BELOW_NORMAL (4) | Abaixo da prioridade de memória normal. |
MEMORY_PRIORITY_NORMAL (5) | Prioridade de memória normal. Essa é a prioridade padrão para todos os threads e processos no sistema. |
[in] ThreadInformationLength
O tamanho, em bytes, de ThreadInformation.
Retornar valor
NtSetInformationThread retorna STATUS_SUCCESS com êxito ou o código de erro NTSTATUS apropriado em caso de falha. Os códigos de erro possíveis incluem STATUS_INFO_LENGTH_MISMATCH ou STATUS_INVALID_PARAMETER.
Comentários
NtSetInformationThread pode ser chamado por drivers de nível superior para definir a prioridade de um thread para o qual eles têm um identificador.
O chamador deve ter THREAD_SET_INFORMATION direitos de acesso para o thread fornecido para chamar essa rotina.
Normalmente, drivers de dispositivo e intermediários que configuram threads criados pelo driver chamam KeSetBasePriorityThread ou KeSetPriorityThread de seus threads criados pelo driver, em vez de chamar NtSetInformationThread. No entanto, um driver pode chamar NtSetInformationThread para aumentar a prioridade de um thread criado pelo driver antes que esse thread seja executado.
Os drivers de modo kernel podem chamar a função NtSetInformationThread com ThreadPagePriority para especificar a prioridade de página de um thread.
Para ajudar a melhorar o desempenho do sistema, os drivers devem usar a função com ThreadPagePriority para reduzir a prioridade de página dos threads que executam operações em segundo plano ou acessam arquivos e dados que não devem ser acessados novamente em breve. Por exemplo, um aplicativo antimalware pode reduzir a prioridade dos threads envolvidos na verificação de arquivos.
Observação
Se a chamada para essa função ocorrer no modo kernel, você deverá usar o nome ZwSetInformationThread em vez de NtSetInformationThread.
Para chamadas de drivers no modo kernel, as versões NtXxx e ZwXxx de uma rotina dos Serviços do Sistema Nativo do Windows podem se comportar de forma diferente na maneira como lidam e interpretam parâmetros de entrada. Para obter mais informações sobre a relação entre as versões NtXxx e ZwXxx de uma rotina, consulte Using Nt and Zw Versions of the Native System Services Routines..
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 |
Plataforma de Destino | Universal |
Cabeçalho | ntifs.h (inclua Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Regras de conformidade de DDI | HwStorPortProhibitedDIs, PowerIrpDDis |
Confira também
Usando versões Nt e Zw das rotinas dos Serviços de Sistema Nativo.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de