次の方法で共有


KeQueryMaximumProcessorCount 関数 (ntddk.h)

KeQueryMaximumProcessorCount ルーチンは、プロセッサの最大数を返します。

構文

ULONG KeQueryMaximumProcessorCount();

戻り値

KeQueryMaximumProcessorCount は 、プロセッサの最大数を ULONG 値として返します。

注釈

KeQueryMaximumProcessorCount ルーチンによって返される値は、実行時に変更されません。

コードでバッファーの配列 (プロセッサごとに 1 つのバッファー) を使用する場合は、 KeQueryMaximumProcessorCount に基づいて静的にサイズ変更された配列を使用するか、 KeQueryActiveProcessorCount に基づいて動的にサイズ変更された配列を使用するかを決定する必要があります。

プロセッサの数に基づいて最適化するには、Windows Server 2008 のサイズ変更可能な構造が必要です。 この場合は、 KeQueryActiveProcessorCount を使用します

最適化していない場合、および最大プロセッサ数を使用した結果のデータ構造が比較的小さい場合は、サイズ変更可能な構造体は必要ありません。 この場合は、 KeQueryMaximumProcessorCount を使用して、静的配列のサイズを決定します。

Windows 7 以降のバージョンの Windows では、プロセッサ グループがサポートされています。 プロセッサ グループに関する情報を処理するように設計されたドライバーでは、 KeQueryMaximumProcessorCount ではなく、プロセッサ グループを指定する KeQueryMaximumProcessorCountEx ルーチンを使用する必要があります。 ただし、Windows 7 以降のバージョンの Windows での KeQueryMaximumProcessorCount の実装では、プロセッサ グループをサポートしていない以前のバージョンの Windows 用に作成されたドライバーとの互換性が提供されます。 この実装では、 KeQueryMaximumProcessorCount は、グループ 0 に含めることができる論理プロセッサの最大数を返します。

要件

要件
サポートされている最小のクライアント Windows Vista 以降のバージョンの Windows で使用できます。
対象プラットフォーム ユニバーサル
Header ntddk.h (Wdm.h、Ntddk.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL 任意のレベル

こちらもご覧ください

KeQueryActiveProcessorCount

KeQueryMaximumProcessorCountEx