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 | 任意のレベル |