NdisGetCurrentProcessorCounts 函式 (ndis.h)
NdisGetCurrentProcessorCounts 函式會傳回目前處理器的計數,驅動程式可用來判斷特定時間間隔的 CPU 使用量。
語法
void NdisGetCurrentProcessorCounts(
[out] PULONG pIdleCount,
[out] PULONG pKernelAndUser,
[out] PULONG pIndex
);
參數
[out] pIdleCount
呼叫端提供之變數的指標,此函式會在啟動系統之後傳回處理器的累積閑置時間。
[out] pKernelAndUser
呼叫端提供的變數指標,此變數會傳回自系統開機后,處理器的累積處理時間 (核心模式時間加上使用者模式時間) 。
[out] pIndex
呼叫端提供之變數的指標,此函式會傳回以零起始的索引,以識別計算機內的處理器。
傳回值
無
備註
NdisGetCurrentProcessorCounts 會傳回閑置和 CPU 使用量計數,呼叫端可用來判斷目前處理器的 CPU 使用量。 CPU 使用率值表示 CPU 的載入方式,因為此函式的呼叫緊接在前面。 如果 CPU 已大量載入,這類驅動程式可以變更其處理特定作業的方式,以改善驅動程式效能。
注意 估計處理器使用量很困難,驅動程式通常不會這麼做。 請注意,即使您有精確的處理器使用量估計值,您還需要考慮其他因素,例如造成 CPU 負載的原因,以及特定負載可能的重要性。
CpuUsage = 100-100*(Idle - Idle[n])/(KernelAndUser - KernelAndUser[n]);
位置:
- CpuUsage 是 CPU 使用量,以總間隔時間的百分比表示
- Idle 是最近呼叫 NdisGetCurrentProcessorCounts 所傳回的 IdleCount 值
- Idle[n] 是上一個呼叫所傳回的 IdleCount 值,儲存為陣列中的 nth 元素
- KernelandUser 是最近呼叫 NdisGetCurrentProcessorCounts 所傳回的 KernelAndUser 值
- KernelandUser[n] 是先前呼叫傳回的 KernelandUser 值,儲存為陣列中的第 n 個元素
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 在 Windows Vista 和更新版本中支援 NDIS 6.0 和更新版本的驅動程式。 支援 NDIS 5.1 驅動程式 (請參閱 Windows XP 和更新版本中的 NdisGetCurrentProcessorCounts (NDIS 5.1) ) 。 |
目標平台 | Universal |
標頭 | ndis.h (包括 Ndis.h) |
程式庫 | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 合規性規則 | Irql_Miscellaneous_Function (ndis) |