共用方式為


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 負載的原因,以及特定負載的重要性。
 
驅動程式可能會在定時器函式內定期呼叫 NdisGetCurrentProcessorCounts。 驅動程式可以使用下列計算來判斷多個定時器間隔的 CPU 使用量:
CpuUsage = 100-100*(Idle - Idle[n])/(KernelAndUser - KernelAndUser[n]);

哪裡:

  • CpuUsage 是以總間隔時間百分比表示的CPU使用量
  • Idle 是最近呼叫 NdisGetCurrentProcessorCounts 所傳回 IdleCount
  • Idle[n] 是先前呼叫所傳回的 IdleCount 值,儲存為陣列中的第 n 個元素
  • KernelandUser 是最近呼叫 NdisGetCurrentProcessorCounts 所傳回的 KernelAndUser
  • KernelandUser[n] 是先前呼叫所傳回的 KernelandUser 值,儲存為陣列中的第 n 個元素

要求

要求 價值
最低支援的用戶端 支援 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)