estrutura SYSTEM_CPU_SET_INFORMATION (winnt.h)
Essa estrutura é retornada por GetSystemCpuSetInformation. Ele é usado para enumerar os Conjuntos de CPU no sistema e determinar seu estado atual.
Essa é uma estrutura de tamanho variável projetada para expansão futura. Ao iterar sobre essa estrutura, use o campo de tamanho para determinar o deslocamento para a próxima estrutura.
Sintaxe
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;
Membros
Size
Esse é o tamanho, em bytes, dessa estrutura de informações.
Type
Esse é o tipo de informação na estrutura. Os aplicativos devem ignorar todas as estruturas com tipos não reconhecidos.
DUMMYUNIONNAME
DUMMYUNIONNAME.CpuSet
DUMMYUNIONNAME.CpuSet.Id
A ID do conjunto de CPU especificado. Esse identificador pode ser usado com SetProcessDefaultCpuSets ou SetThreadSelectedCpuSets ao especificar uma lista de Conjuntos de CPU para afinidade.
DUMMYUNIONNAME.CpuSet.Group
Especifica o grupo de processadores do conjunto de CPU. Todos os outros valores na estrutura CpuSet são relativos ao grupo de processadores.
DUMMYUNIONNAME.CpuSet.LogicalProcessorIndex
Especifica o índice relativo ao grupo do processador inicial do conjunto de CPU. A menos que o Conjunto de CPU esteja estacionado por motivos térmicos ou de gerenciamento de energia ou atribuído para uso exclusivo a outro aplicativo, os threads serão executados no processador inicial de um de seus Conjuntos de CPU. Os campos Group e LogicalProcessorIndex são os mesmos encontrados na estrutura PROCESSOR_NUMBER e correspondem ao campo Grupo e ao campo Máscara da estrutura GROUP_AFFINITY.
DUMMYUNIONNAME.CpuSet.CoreIndex
Um valor relativo ao grupo que indica qual "Core" tem o processador inicial do conjunto de CPU. Esse número é o mesmo para todos os Conjuntos de CPU no mesmo grupo que compartilham recursos de execução significativos uns com os outros, como threads de hardware diferentes em um único núcleo que dá suporte a vários threadings simultâneos.
DUMMYUNIONNAME.CpuSet.LastLevelCacheIndex
Um valor relativo ao grupo que indica quais conjuntos de CPU compartilham pelo menos um nível de cache entre si. Esse valor é o mesmo para todos os Conjuntos de CPU em um grupo que estão em processadores que compartilham cache uns com os outros.
DUMMYUNIONNAME.CpuSet.NumaNodeIndex
Um valor relativo ao grupo que indica em qual nó NUMA um conjunto de CPU está ativado. Todos os Conjuntos de CPU em um determinado grupo que estão no mesmo nó NUMA terão o mesmo valor para esse campo.
DUMMYUNIONNAME.CpuSet.EfficiencyClass
Um valor que indica a eficiência energética intrínseca de um processador para sistemas que dão suporte a processadores heterogêneos (como o ARM grande). SISTEMAS LITTLE). Conjuntos de CPU com valores numéricos mais altos desse campo têm processadores domésticos mais rápidos, mas menos eficientes que os com valores mais baixos.
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 uma marca usada pela Alocação Principal para comunicar um determinado conjunto de CPU alocado entre threads em componentes diferentes.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2016 [aplicativos da área de trabalho | Aplicativos UWP] |
Cabeçalho | winnt.h (inclua Windows.h) |