次の方法で共有


PROCESSOR_NUMBER構造 (miniport.h)

PROCESSOR_NUMBER構造体は、そのグループ番号とグループ相対プロセッサ番号によってプロセッサを識別します。

構文

typedef struct _PROCESSOR_NUMBER {
  USHORT Group;
  UCHAR  Number;
  UCHAR  Reserved;
} PROCESSOR_NUMBER, *PPROCESSOR_NUMBER;

メンバー

Group

グループ番号。 マルチプロセッサ システムに n 個のグループが含まれている場合、グループには 0 から n-1 の番号が付きます。

Number

グループ相対プロセッサ番号。 グループに m 論理プロセッサが含まれている場合、プロセッサの番号は 0 から m-1 になります。

Reserved

将来利用するために予約されています。 0 に初期化します。

注釈

Windows 7 は、プロセッサ グループをサポートする Windows の最初のバージョンです。 Windows 7 では、64 ビット バージョンの Windows のみが複数のグループをサポートしています。32 ビット バージョンの Windows では、1 つのグループのみがサポートされます。 マルチプロセッサ システムが 64 ビット バージョンの Windows を実行していて、64 個以下の論理プロセッサが含まれている場合、Windows はすべてのプロセッサをグループ 0 に割り当てます。 32 ビット バージョンの Windows を実行しているマルチプロセッサ システムには、32 個以下のプロセッサを含めることができます。

Windows 7 では、マルチプロセッサ システムのグループの最大数は 4 ですが、この値は今後のバージョンの Windows で変更される可能性があります。 Windows 7 以降のバージョンの Windows でグループの最大数を確認する最も安全な方法は、 KeQueryMaximumGroupCount ルーチンを呼び出す方法です。 KeQueryMaximumGroupCount を呼び出すカーネル モード ドライバーでは、今後のバージョンの Windows でグループの最大数の変更を計算するために使用される数式を使用する場合、コードの変更は必要ありません。

PROCESSOR_NUMBER構造体を使用するカーネル モード ルーチンには、KeGetCurrentProcessorNumberExKeGetProcessorIndexFromNumberKeGetProcessorNumberFromIndexKeQueryLogicalProcessorRelationship などがあります。

要件

要件
サポートされている最小のクライアント Windows 7 以降のバージョンの Windows オペレーティング システムでサポートされています。
Header miniport.h (Windows.h、Ntdef.h、Wdm.h、Ntddk.h、Winnt.h、Minitape.h を含む)

こちらもご覧ください

KeGetCurrentProcessorNumberEx

KeGetProcessorIndexFromNumber

KeGetProcessorNumberFromIndex

KeQueryLogicalProcessorRelationship

KeQueryMaximumGroupCount