NdisSystemActiveProcessorCount function

The NdisSystemActiveProcessorCount function returns the number of currently active processors in the local computer.


ULONG NdisSystemActiveProcessorCount(
  PKAFFINITY ActiveProcessors



A pointer to a KAFFINITY-typed variable that receives a bitmap that represents the set of currently active processors. In a hot-add environment, this bitmap can change during runtime.

Return Value

NdisSystemActiveProcessorCount returns the number of currently active processors in the local computer.


An NDIS driver might call the NdisSystemActiveProcessorCount function during initialization before it allocates resources.

NdisSystemActiveProcessorCount is similar to the KeQueryActiveProcessorCount function.

Note  NDIS drivers should not use NdisSystemProcessorCount to retrieve the number of currently active processors,
Note  NdisSystemActiveProcessorCount might not map processors to the bits in the returned [**KAFFINITY**](https://docs.microsoft.com/windows-hardware/drivers/kernel/interrupt-affinity-and-priority#about-kaffinity) value consecutively. and NdisSystemActiveProcessorCount might not return the same bitmap every time that it is called.
The value that NdisSystemActiveProcessorCount returns can change at runtime on SKUs that support hot-add CPU functionality.

The Windows Server 2008 Enterprise operating system and the Windows Server 2008 Datacenter operating system support dynamic hardware partitioning. As part of dynamic hardware partitioning, Windows Server 2008 supports hot-add operations for CPUs at runtime. In a hot-add CPU environment, the number of processors might not remain constant during runtime.


Minimum supported client Supported in NDIS 6.1. For NDIS 6.20 and later, use NdisGroupActiveProcessorCount instead.
Target Platform Universal
Header ndis.h (include Ndis.h)
Library Ndis.lib
IRQL Any level

See Also