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 値を指定できます。
今後のバージョンの 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 を含む) |
こちらもご覧ください
GetLogicalProcessorInformation
GetLogicalProcessorInformationEx