estructura SYSTEM_CPU_SET_INFORMATION (winnt.h)

GetSystemCpuSetInformation devuelve esta estructura. Se usa para enumerar los conjuntos de CPU en el sistema y determinar su estado actual.

Se trata de una estructura de tamaño variable diseñada para la expansión futura. Al recorrer en iteración esta estructura, use el campo de tamaño para determinar el desplazamiento a la estructura siguiente.

Sintaxis

typedef struct _SYSTEM_CPU_SET_INFORMATION {
  DWORD                    Size;
  CPU_SET_INFORMATION_TYPE Type;
  union {
    struct {
      DWORD   Id;
      WORD    Group;
      BYTE    LogicalProcessorIndex;
      BYTE    CoreIndex;
      BYTE    LastLevelCacheIndex;
      BYTE    NumaNodeIndex;
      BYTE    EfficiencyClass;
      union {
        BYTE AllFlags;
        struct {
          BYTE Parked : 1;
          BYTE Allocated : 1;
          BYTE AllocatedToTargetProcess : 1;
          BYTE RealTime : 1;
          BYTE ReservedFlags : 4;
        } DUMMYSTRUCTNAME;
      } DUMMYUNIONNAME2;
      union {
        DWORD Reserved;
        BYTE  SchedulingClass;
      };
      DWORD64 AllocationTag;
    } CpuSet;
  } DUMMYUNIONNAME;
} SYSTEM_CPU_SET_INFORMATION, *PSYSTEM_CPU_SET_INFORMATION;

Miembros

Size

Este es el tamaño, en bytes, de esta estructura de información.

Type

Este es el tipo de información de la estructura. Las aplicaciones deben omitir las estructuras con tipos no reconocidos.

DUMMYUNIONNAME

DUMMYUNIONNAME.CpuSet

DUMMYUNIONNAME.CpuSet.Id

Identificador del conjunto de CPU especificado. Este identificador se puede usar con SetProcessDefaultCpuSets o SetThreadSelectedCpuSets al especificar una lista de conjuntos de CPU a los que se va a establecer afinidad.

DUMMYUNIONNAME.CpuSet.Group

Especifica el grupo de procesadores del conjunto de CPU. Todos los demás valores de la estructura CpuSet son relativos al grupo de procesadores.

DUMMYUNIONNAME.CpuSet.LogicalProcessorIndex

Especifica el índice relativo al grupo del procesador principal del conjunto de CPU. A menos que el conjunto de CPU esté estacionado por motivos térmicos o de administración de energía o asignados para uso exclusivo a otra aplicación, los subprocesos se ejecutarán en el procesador principal de uno de sus conjuntos de CPU. Los campos Group y LogicalProcessorIndex son los mismos que los que se encuentran en la estructura PROCESSOR_NUMBER y corresponden al campo Group y Mask de la estructura GROUP_AFFINITY.

DUMMYUNIONNAME.CpuSet.CoreIndex

Valor relativo al grupo que indica qué "Core" tiene el procesador principal del conjunto de CPU. Este número es el mismo para todos los conjuntos de CPU del mismo grupo que comparten recursos de ejecución significativos entre sí, como subprocesos de hardware diferentes en un único núcleo que admite varios subprocesos simultáneos.

DUMMYUNIONNAME.CpuSet.LastLevelCacheIndex

Valor relativo al grupo que indica qué conjuntos de CPU comparten al menos un nivel de caché entre sí. Este valor es el mismo para todos los conjuntos de CPU de un grupo que se encuentran en procesadores que comparten la memoria caché entre sí.

DUMMYUNIONNAME.CpuSet.NumaNodeIndex

Valor relativo al grupo que indica en qué nodo NUMA está activado un conjunto de CPU. Todos los conjuntos de CPU de un grupo determinado que se encuentran en el mismo nodo NUMA tendrán el mismo valor para este campo.

DUMMYUNIONNAME.CpuSet.EfficiencyClass

Valor que indica la eficiencia energética intrínseca de un procesador para sistemas que admiten procesadores heterogéneos (como ARM grande. Sistemas LITTLE). Los conjuntos de CPU con valores numéricos más altos de este campo tienen procesadores domésticos que son más rápidos pero menos eficientes que los que tienen valores inferiores.

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.AllFlags

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.DUMMYSTRUCTNAME

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.DUMMYSTRUCTNAME.Parked

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.DUMMYSTRUCTNAME.Allocated

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.DUMMYSTRUCTNAME.AllocatedToTargetProcess

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.DUMMYSTRUCTNAME.RealTime

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.DUMMYSTRUCTNAME.ReservedFlags

DUMMYUNIONNAME.CpuSet.Reserved

Reservado.

DUMMYUNIONNAME.CpuSet.SchedulingClass

DUMMYUNIONNAME.CpuSet.AllocationTag

Especifica una etiqueta usada por la asignación de núcleos para comunicar un conjunto de CPU asignado determinado entre subprocesos en distintos componentes.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2016 [aplicaciones de escritorio | Aplicaciones para UWP]
Encabezado winnt.h (incluye Windows.h)