SYSTEM_LOGICAL_PROCESSOR_INFORMATION構造体 (winnt.h)

指定したプロセッサ セット間のリレーションシップについて説明します。 この構造体は 、GetLogicalProcessorInformation 関数と共に使用されます。

構文

typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION {
  ULONG_PTR                      ProcessorMask;
  LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
  union {
    struct {
      BYTE Flags;
    } ProcessorCore;
    struct {
      DWORD NodeNumber;
    } NumaNode;
    CACHE_DESCRIPTOR Cache;
    ULONGLONG        Reserved[2];
  } DUMMYUNIONNAME;
} SYSTEM_LOGICAL_PROCESSOR_INFORMATION, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION;

メンバー

ProcessorMask

この構造体によって記述されるプロセッサを識別するプロセッサ マスク。 プロセッサ マスクは、各セット ビットがリレーションシップ内のアクティブなプロセッサを表すビット ベクトルです。 少なくとも 1 ビットが設定されます。

プロセッサが 64 を超えるシステムでは、プロセッサ マスクによって 1 つの プロセッサ グループ内のプロセッサが識別されます。

Relationship

ProcessorMask メンバーの値によって識別されるプロセッサ間の関係。 このメンバーには、次のいずれかの LOGICAL_PROCESSOR_RELATIONSHIP 値を指定できます。

意味
RelationCache
2
指定された論理プロセッサはキャッシュを共有します。 Cache メンバーには追加情報が含まれています。

Windows Server 2003: この値は、WINDOWS Server 2003 SP1 および Windows XP Professional x64 Edition までサポートされていません。

RelationNumaNode
1
指定された論理プロセッサは、同じ NUMA ノードの一部です。 NumaNode メンバーには追加情報が含まれています。
RelationProcessorCore
0
指定された論理プロセッサは、1 つのプロセッサ コアを共有します。 ProcessorCore メンバーには追加情報が含まれています。
RelationProcessorPackage
3
指定された論理プロセッサは、物理パッケージを共有します。 追加情報はありません。

Windows Server 2003 および Windows XP Professional x64 Edition: この値は、Windows Server 2003 SP1 と Windows XP SP3 まではサポートされません。

 

今後のバージョンの Windows では、 リレーションシップ メンバーの追加の値がサポートされる場合があります。

DUMMYUNIONNAME

DUMMYUNIONNAME.ProcessorCore

この構造体には、 Relationship メンバーが RelationProcessorCore の場合にのみ有効なデータが含まれます。

DUMMYUNIONNAME.ProcessorCore.Flags

このメンバーの値が 1 の場合、 ProcessorMask メンバーの値で識別される論理プロセッサは、Hyperthreading または SMT のように機能単位を共有します。 それ以外の場合、識別された論理プロセッサは機能単位を共有しません。

Windows Server 2003 および Windows XP Professional x64 Edition: このメンバーは、物理パッケージを共有するコアの場合も 1 です。 そのため、プロセッサが Windows Vista より前のシステムで複数のコアまたはハイパースレッディングをサポートしているかどうかを判断するには、CPUID 命令を使用します。

DUMMYUNIONNAME.NumaNode

この構造体には、 Relationship メンバーが RelationNumaNode の場合にのみ有効なデータが含まれます。

DUMMYUNIONNAME.NumaNode.NodeNumber

NUMA ノードを識別します。 このパラメーターの有効な値は、0 から最大の NUMA ノード番号までです。 NUMA 以外のマルチプロセッサ システムは、すべてのプロセッサが 1 つの NUMA ノードに属していることを報告します。

DUMMYUNIONNAME.Cache

特定のキャッシュの特性を識別する CACHE_DESCRIPTOR 構造体。 報告されるキャッシュごとに 1 つのレコードが返されます。 プロセッサがキャッシュを識別するために使用するメカニズムによっては、一部またはすべてのキャッシュが報告されない場合があります。 そのため、特定のキャッシュがないと想定しないでください。 キャッシュは必ずしも論理プロセッサ間で共有されるとは限りません。

この構造体には、 Relationship メンバーが RelationCache の場合にのみ有効なデータが含まれます。

Windows Server 2003: このメンバーは、Windows Server 2003 SP1 および Windows XP Professional x64 Edition までサポートされていません。

DUMMYUNIONNAME.Reserved[2]

予約済み。 使用しないでください。

要件

要件
サポートされている最小のクライアント Windows Vista、Windows XP Professional x64 Edition [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header winnt.h (Windows.h を含む)

こちらもご覧ください

CACHE_DESCRIPTOR

GetLogicalProcessorInformation

GetLogicalProcessorInformationEx

LOGICAL_PROCESSOR_RELATIONSHIP

SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX