次の方法で共有


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 で使用できます。
対象プラットフォーム ユニバーサル
Header ntddk.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL 任意のレベル

こちらもご覧ください

KeQueryActiveProcessorCountEx

KeQueryMaximumProcessorCount