Функция NdisGetCurrentProcessorCounts (ndis.h)
Функция NdisGetCurrentProcessorCounts возвращает счетчики для текущего процессора, которые драйвер может использовать для определения использования ЦП за определенный интервал времени.
Синтаксис
void NdisGetCurrentProcessorCounts(
[out] PULONG pIdleCount,
[out] PULONG pKernelAndUser,
[out] PULONG pIndex
);
Параметры
[out] pIdleCount
Указатель на переменную, предоставляемую вызывающей стороны, в которой эта функция возвращает совокупное время простоя процессора с момента загрузки системы.
[out] pKernelAndUser
Указатель на переменную вызывающего объекта, в которой эта функция возвращает совокупное время обработки (время в режиме ядра плюс время пользовательского режима) для процессора с момента загрузки системы.
[out] pIndex
Указатель на переменную, предоставляемую вызывающей стороны, в которой эта функция возвращает отсчитываемый от нуля индекс, идентифицирующий процессор на компьютере.
Возвращаемое значение
None
Remarks
NdisGetCurrentProcessorCounts возвращает количество бездействующих и потребления ЦП, которые вызывающий объект может использовать для определения использования ЦП для текущего процессора. Значение использования ЦП указывает, насколько загружен ЦП с момента непосредственного вызова этой функции. Если ЦП был сильно загружен, такой драйвер может изменить способ обработки определенных операций, чтобы повысить производительность драйвера.
CpuUsage = 100-100*(Idle - Idle[n])/(KernelAndUser - KernelAndUser[n]);
где:
- CpuUsage — это загрузка ЦП в процентах от общего времени интервала.
- Idle — это значение IdleCount, возвращаемое последним вызовом NdisGetCurrentProcessorCounts.
- Idle[n] — это значение IdleCount , возвращаемое предыдущим вызовом, которое хранится в виде n-го элемента в массиве.
- KernelandUser — это значение KernelAndUser, возвращаемое последним вызовом NdisGetCurrentProcessorCounts.
- KernelandUser[n] — это значение KernelandUser, возвращаемое предыдущим вызовом, которое хранится в виде n-го элемента в массиве.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается для драйверов NDIS 6.0 и более поздних версий в Windows Vista и более поздних версий. Поддерживается для драйверов NDIS 5.1 (см. раздел NdisGetCurrentProcessorCounts (NDIS 5.1)) в Windows XP и более поздних версиях. |
Целевая платформа | Универсальное |
Верхняя часть | ndis.h (включая Ndis.h) |
Библиотека | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Правила соответствия DDI | Irql_Miscellaneous_Function(ndis) |