英語で読む

次の方法で共有


KeQueryMaximumProcessorCountEx 関数 (ntddk.h)

KeQueryMaximumProcessorCountEx ルーチンは、マルチプロセッサ システム内の指定されたグループ内の論理プロセッサの最大数を返します。

構文

ULONG KeQueryMaximumProcessorCountEx(
  [in] USHORT GroupNumber
);

パラメーター

[in] GroupNumber

グループ番号を指定します。 マルチプロセッサ システムに n 個の グループ 含まれている場合、グループには 0 から n-1 までの番号が付けられます。 システム内のプロセッサの最大数を取得するには、Winnt.h および Ntdef.h ヘッダー ファイルで定義されている ALL_PROCESSOR_GROUPS にこのパラメーターを設定します。

戻り値

KeQueryMaximumProcessorCountEx は、指定されたグループまたはシステム内の論理プロセッサの最大数を返します。これは、GroupNumber パラメーターの値で示されます。

備考

KeQueryMaximumProcessorCountEx によって返される値 は、実行時に一定のままです。 この値はマルチプロセッサ システムのハードウェア構成によって異なりますが、Windows オペレーティング システムによって設定される固定の制限を超えることはありません。 この制限は、32 ビット バージョンの Windows では 32 論理プロセッサ、64 ビット バージョンの Windows では 64 論理プロセッサです。

これに対し、KeQueryActiveProcessorCountEx ルーチンによって返される値は、プロセッサがシステムに動的に追加されるため、実行時に変更される可能性があります。

KeQueryMaximumProcessorCount 関連ルーチンは最大プロセッサ数を返しますが、KeQueryMaximumProcessorCountEx とは異なり、このルーチンは入力パラメーターとしてグループ番号を受け入れません。 Windows 7 以降のバージョンの Windows オペレーティング システムでは、KeQueryMaximumProcessorCount は、グループ 0 の論理プロセッサの最大数を返します。これは、グループをサポートしていない以前のバージョンの Windows でのこのルーチンの動作と互換性があります。 この動作により、KeQueryMaximumProcessorCount 呼び出し、グループ指向機能を使用しない既存のドライバーが、2 つ以上のグループを持つマルチプロセッサ システムで正しく実行されるようになります。 ただし、Windows 7 以降のバージョンの Windows オペレーティング システムでグループ指向機能を使用するドライバーは、KeQueryMaximumProcessorCount ではなく、KeQueryMaximumProcessorCountEx呼び出す必要があります。

必要条件

要件 価値
サポートされる最小クライアント Windows 7 以降のバージョンの Windows で使用できます。
ターゲット プラットフォーム 万国
ヘッダー ntddk.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 任意のレベル

関連項目

KeQueryActiveProcessorCountEx

KeQueryMaximumProcessorCount