NdisGetCurrentProcessorCounts 함수(ndis.h)
NdisGetCurrentProcessorCounts 함수는 드라이버가 특정 시간 간격에 대한 CPU 사용량을 확인하는 데 사용할 수 있는 현재 프로세서의 수를 반환합니다.
구문
void NdisGetCurrentProcessorCounts(
[out] PULONG pIdleCount,
[out] PULONG pKernelAndUser,
[out] PULONG pIndex
);
매개 변수
[out] pIdleCount
시스템이 부팅된 이후 이 함수가 프로세서의 누적 유휴 시간을 반환하는 호출자 제공 변수에 대한 포인터입니다.
[out] pKernelAndUser
시스템이 부팅된 후 이 함수가 프로세서에 대한 누적 처리 시간(커널 모드 시간 및 사용자 모드 시간)을 반환하는 호출자 제공 변수에 대한 포인터입니다.
[out] pIndex
이 함수가 컴퓨터 내의 프로세서를 식별하는 0부터 시작하는 인덱스를 반환하는 호출자 제공 변수에 대한 포인터입니다.
반환 값
없음
설명
NdisGetCurrentProcessorCounts 는 호출자가 현재 프로세서의 CPU 사용량을 확인하는 데 사용할 수 있는 유휴 및 CPU 사용 횟수를 반환합니다. CPU 사용률 값은 이 함수에 대한 바로 이전 호출 이후 CPU가 로드된 방식을 나타냅니다. CPU가 많이 로드된 경우 이러한 드라이버는 특정 작업을 처리하는 방법을 변경하여 드라이버 성능을 향상시킬 수 있습니다.
참고 프로세서 사용량을 예측하는 것은 어렵고 드라이버는 일반적으로 이를 수행하지 않습니다. 프로세서 사용량에 대한 정확한 추정치가 있더라도 CPU 부하의 원인 및 특정 부하가 얼마나 중요한지 등 고려해야 할 다른 요인이 있습니다.
CpuUsage = 100-100*(Idle - Idle[n])/(KernelAndUser - KernelAndUser[n]);
여기서
- CpuUsage는 총 간격 시간의 백분율로 CPU 사용량입니다.
- 유휴 는 NdisGetCurrentProcessorCounts에 대한 최신 호출에서 반환된 IdleCount 값입니다.
- Idle[n]은 배열의 n번째 요소로 저장된 이전 호출에서 반환된 IdleCount 값입니다.
- KernelandUser는 NdisGetCurrentProcessorCounts에 대한 최신 호출에서 반환된 KernelAndUser 값입니다.
- KernelandUser[n]는 배열의 n번째 요소로 저장된 이전 호출에서 반환된 KernelandUser 값입니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista 이상에서 NDIS 6.0 이상 드라이버에 대해 지원됩니다. Windows XP 이상에서 NDIS 5.1 드라이버(NdisGetCurrentProcessorCounts(NDIS 5.1) 참조)에 대해 지원됩니다. |
대상 플랫폼 | 유니버설 |
헤더 | ndis.h(Ndis.h 포함) |
라이브러리 | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 규정 준수 규칙 | Irql_Miscellaneous_Function(ndis) |