NdisGetCurrentProcessorCounts-Funktion (ndis.h)
Die NdisGetCurrentProcessorCounts-Funktion gibt die Anzahl des aktuellen Prozessors zurück, mit dem ein Treiber die CPU-Auslastung für ein bestimmtes Zeitintervall ermitteln kann.
Syntax
void NdisGetCurrentProcessorCounts(
[out] PULONG pIdleCount,
[out] PULONG pKernelAndUser,
[out] PULONG pIndex
);
Parameter
[out] pIdleCount
Ein Zeiger auf eine vom Aufrufer bereitgestellte Variable, in der diese Funktion die kumulative Leerlaufzeit für den Prozessor seit dem Start des Systems zurückgibt.
[out] pKernelAndUser
Ein Zeiger auf eine vom Aufrufer bereitgestellte Variable, in der diese Funktion die kumulative Verarbeitungszeit (Kernelmoduszeit plus Benutzermoduszeit) für den Prozessor seit dem Start des Systems zurückgibt.
[out] pIndex
Ein Zeiger auf eine vom Aufrufer bereitgestellte Variable, in der diese Funktion einen nullbasierten Index zurückgibt, der den Prozessor innerhalb des Computers identifiziert.
Rückgabewert
Keine
Bemerkungen
NdisGetCurrentProcessorCounts gibt Leerlauf- und CPU-Auslastungszählungen zurück, die der Aufrufer verwenden kann, um die CPU-Auslastung für den aktuellen Prozessor zu bestimmen. Der CPU-Auslastungswert gibt an, wie geladen die CPU seit dem unmittelbar vorangehenden Aufruf dieser Funktion war. Wenn die CPU stark geladen wurde, kann ein solcher Treiber die Verarbeitung bestimmter Vorgänge ändern, um die Treiberleistung zu verbessern.
CpuUsage = 100-100*(Idle - Idle[n])/(KernelAndUser - KernelAndUser[n]);
Dabei gilt:
- CpuUsage ist die CPU-Auslastung als Prozentsatz der Gesamtintervallzeit.
- Idle ist der IdleCount-Wert, der vom letzten Aufruf von NdisGetCurrentProcessorCounts zurückgegeben wird.
- Idle[n] ist ein IdleCount-Wert , der von einem vorherigen Aufruf zurückgegeben wird und als n-ten Element in einem Array gespeichert ist.
- KernelandUser ist der KernelAndUser-Wert, der vom letzten Aufruf von NdisGetCurrentProcessorCounts zurückgegeben wird.
- KernelandUser[n] ist der KernelandUser-Wert, der von einem vorherigen Aufruf zurückgegeben wird und als n-ten Element in einem Array gespeichert ist.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt für NDIS 6.0- und höher-Treiber in Windows Vista und höher. Unterstützt für NDIS 5.1-Treiber (siehe NdisGetCurrentProcessorCounts (NDIS 5.1)) in Windows XP und höher. |
Zielplattform | Universell |
Header | ndis.h (include Ndis.h) |
Bibliothek | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_Miscellaneous_Function(ndis) |