NDIS_SYSTEM_PROCESSOR_INFO (Compact 2013)

3/26/2014

This structure specifies information about the CPU topology of the local device and the receive-side scaling (RSS) processor set.

Syntax

typedef struct _NDIS_SYSTEM_PROCESSOR_INFO {
  NDIS_OBJECT_HEADER  Header;
  ULONG  Flags;
  NDIS_PROCESSOR_VENDOR  ProcessorVendor;
  ULONG  NumPhysicalPackages;
  ULONG  NumCores;    
  ULONG  NumCoresPerPhysicalPackage;
  ULONG  MaxHyperThreadingCpusPerCore;
  ULONG  RssBaseCpu;
  ULONG  RssCpuCount;
  PUCHAR RssProcessors;
  NDIS_PROCESSOR_INFO  CpuInfo[MAXIMUM_PROCESSORS];
}NDIS_SYSTEM_PROCESSOR_INFO, *PNDIS_SYSTEM_PROCESSOR_INFO;

Members

  • Header
    The NDIS_OBJECT_HEADER structure for the NDIS_SYSTEM_PROCESSOR_INFO structure. Set the Type member of the structure that Header specifies to NDIS_OBJECT_TYPE_DEFAULT, the Revision member to NDIS_SYSTEM_PROCESSOR_INFO_REVISION_1, and the Size member to NDIS_SIZEOF_SYSTEM_PROCESSOR_INFO_REVISION_1.
  • Flags
    Reserved. Set this member to zero.
  • ProcessorVendor
    The processor vendor specified as one of the values from the NDIS_PROCESSOR_VENDOR enumeration.
  • NumPhysicalPackages
    The total number of processor physical packages that are in the local device.
  • NumCores
    The total number of core processors that are in the local device. For example, set this member to four if there are two dual core physical packages.
  • NumCoresPerPhysicalPackage
    The number of core processors that are in each physical package. For example, set this member to two for a dual core physical package.
  • MaxHyperThreadingCpusPerCore
    The maximum number of logical processors that are in each hyper-threaded core processor. For example, set this member to two if each hyper-threaded core processor supports two logical processors.
  • RssBaseCpu
    The starting CPU number that is used for RSS.
  • RssCpuCount
    The number of processors that are used for RSS.
  • RssProcessors
    A pointer to an optional caller-provided buffer that will contain the CPU numbers of the processors that can be used for RSS. Set this member to NULL if the CPU numbers are not required. To obtain CPU numbers, this member must contain a valid pointer and the size of this buffer must be at least MAXIMUM_PROCESSORS * sizeof (UCHAR). After the NdisGetProcessorInformation function returns successfully, the buffer contains CPU numbers followed by undefined data.
  • CpuInfo
    An array of NDIS_PROCESSOR_INFO structures. After the NdisGetProcessorInformation function returns successfully, this array provides information for each processor in the local device. The number of values in the array is equal to the number of processors in the local device, as the NdisSystemActiveProcessorCount function reports.

Remarks

NDIS network drivers use the NDIS_SYSTEM_PROCESSOR_INFO structure in calls to the NdisGetProcessorInformation function. After NdisGetProcessorInformation returns, this structure contains information about the CPU topology of the system and the set of processors that will be used for receive-side scaling (RSS).

Requirements

Header

ndis.h

See Also

Reference

NDIS Current Information Structures
NDIS_OBJECT_HEADER
NDIS_PROCESSOR_INFO
NDIS_PROCESSOR_VENDOR
NdisGetProcessorInformation
NdisSystemActiveProcessorCount