Função NdisGetCurrentProcessorCounts (ndis.h)
A função NdisGetCurrentProcessorCounts retorna contagens para o processador atual que um driver pode usar para determinar o uso da CPU para um intervalo de tempo específico.
Sintaxe
void NdisGetCurrentProcessorCounts(
[out] PULONG pIdleCount,
[out] PULONG pKernelAndUser,
[out] PULONG pIndex
);
Parâmetros
[out] pIdleCount
Um ponteiro para uma variável fornecida pelo chamador na qual essa função retorna o tempo de ociosidade cumulativo para o processador desde que o sistema foi inicializado.
[out] pKernelAndUser
Um ponteiro para uma variável fornecida pelo chamador na qual essa função retorna o tempo de processamento cumulativo (tempo de modo kernel mais tempo de modo de usuário) para o processador desde que o sistema foi inicializado.
[out] pIndex
Um ponteiro para uma variável fornecida pelo chamador na qual essa função retorna um índice baseado em zero que identifica o processador dentro do computador.
Valor de retorno
Nenhum
Observações
NdisGetCurrentProcessorCounts retorna contagens ociosas e de uso de CPU que o chamador pode usar para determinar o uso da CPU para o processador atual. O valor de utilização da CPU indica como a CPU foi carregada desde a chamada imediatamente anterior a essa função. Se a CPU foi muito carregada, esse driver pode alterar a forma como lida com determinadas operações para melhorar o desempenho do driver.
CpuUsage = 100-100*(Idle - Idle[n])/(KernelAndUser - KernelAndUser[n]);
onde:
- CpuUsage é o uso da CPU como uma porcentagem do tempo de intervalo total
- Ocioso é o valor IdleCount retornado pela chamada mais recente para NdisGetCurrentProcessorCounts
- Idle[n] é um IdleCount valor retornado por uma chamada anterior, armazenado como o elemento nth em uma matriz
- KernelandUser é o kernelAndUser valor retornado pela chamada mais recente para NdisGetCurrentProcessorCounts
- KernelandUser[n] é o valor kernelandUser retornado por uma chamada anterior, armazenado como o elemento nth em uma matriz