IsProcessorFeaturePresent 関数 (processthreadsapi.h)
指定したプロセッサ機能が現在のコンピューターでサポートされているかどうかを判断します。
構文
BOOL IsProcessorFeaturePresent(
[in] DWORD ProcessorFeature
);
パラメーター
[in] ProcessorFeature
テストするプロセッサ機能。 このパラメーターには、次の値のいずれかを指定できます。
値 | 意味 |
---|---|
|
64 ビットの読み込み/ストアアトミック命令を使用できます。 |
|
分割命令を使用できます。 |
|
外部キャッシュを使用できます。 |
|
浮動小数点乗算演算命令を使用できます。 |
|
VFP/Neon: 32 x 64 ビット レジスタ バンクが存在します。 このフラグは、 PF_ARM_VFP_EXTENDED_REGISTERSと同じ意味を持ちます。 |
|
3D-Now 命令セットを使用できます。 |
|
プロセッサ チャネルが有効になっています。 |
|
アトミック比較および交換操作 (cmpxchg) を使用できます。 |
|
アトミック比較および交換 128 ビット操作 (cmpxchg16b) を使用できます。
Windows Server 2003 および Windows XP/2000: この機能はサポートされていません。 |
|
アトミック比較 64 と exchange 128 ビット操作 (cmp8xchg16) を使用できます。
Windows Server 2003 および Windows XP/2000: この機能はサポートされていません。 |
|
_fastfail() を使用できます。 |
|
浮動小数点演算は、ソフトウェア エミュレーターを使用してエミュレートされます。
浮動小数点演算がエミュレートされる場合、この関数は 0 以外の値を返します。それ以外の場合は、0 を返します。 |
|
Pentium では、まれに浮動小数点精度エラーが発生する可能性があります。 |
|
MMX 命令セットを使用できます。 |
|
データ実行防止 が有効になっています。 Windows XP/2000: この機能は、SP2 と Windows Server 2003 SP1 の Windows XP まではサポートされません。 |
|
プロセッサは PAE 対応です。 詳細については、「 物理アドレス拡張機能」を参照してください。
すべての x64 プロセッサは、常にこの機能の 0 以外の値を返します。 |
|
RDTSC 命令を使用できます。 |
|
RDFSBASE、RDGSBASE、WRFSBASE、WRGSBASE の各命令を使用できます。 |
|
第 2 レベルのアドレス変換は、ハードウェアでサポートされています。 |
|
SSE3 命令セットを使用できます。
Windows Server 2003 および Windows XP/2000: この機能はサポートされていません。 |
|
SSSE3 命令セットを使用できます。 |
|
SSE4_1命令セットを使用できます。 |
|
SSE4_2命令セットを使用できます。 |
|
AVX 命令セットを使用できます。 |
|
AVX2 命令セットを使用できます。 |
|
AVX512F命令セットを使用できます。 |
|
仮想化はファームウェアで有効になり、オペレーティング システムで使用できるようになります。 |
|
SSE 命令セットを使用できます。 |
|
SSE2 命令セットを使用できます。
Windows 2000: この機能はサポートされていません。 |
|
プロセッサは、XSAVE 命令と XRSTOR 命令を実装します。
Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP/2000: この機能は、Windows 7 および Windows Server 2008 R2 までサポートされていません。 |
|
この Arm プロセッサは、Arm v8 命令セットを実装します。 |
|
この Arm プロセッサは、Arm v8 の追加の暗号化命令 (AES、SHA1、SHA2 など) を実装します。 |
|
この Arm プロセッサは、Arm v8 の追加 CRC32 命令を実装します。 |
|
この Arm プロセッサは、Arm v8.1 アトミック命令 (CAS、SWP など) を実装します。 |
|
この Arm プロセッサは、Arm v8.2 DP 命令 (SDOT、UDOT など) を実装します。 この機能は Arm v8.2 実装では省略可能であり、Arm v8.4 の実装では必須です。 |
|
この Arm プロセッサは、Arm v8.3 JSCVT 命令 (FJCVTZS など) を実装します。 |
|
この Arm プロセッサは、Arm v8.3 LRCPC 命令 (LDAPR など) を実装します。 特定の Arm v8.2 CPU では、必要に応じて LRCPC 命令がサポートされる場合があることに注意してください。 |
戻り値
機能がサポートされている場合、戻り値は 0 以外の値になります。
機能がサポートされていない場合、戻り値は 0 です。
ハードウェアが機能をサポートしているかどうかに関係なく、HAL が機能の検出をサポートしていない場合、戻り値も 0 になります。
注釈
through PF_AVX512F_INSTRUCTIONS_AVAILABLE
のPF_SSSE3_INSTRUCTIONS_AVAILABLE
サポートは、Windows SDK (19041) に追加され、Windows 10 バージョン 2004 (2020 年 5 月の更新プログラム) 以降でサポートされています。
、PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE
、 PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE
のPF_ERMS_AVAILABLE
サポートは、Windows SDK (20348) に追加され、Windows 11および Windows Server 2022 でサポートされています。
定義PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE
は Windows SDK (22621) に追加され、Windows 11 バージョン 22H2 でサポートされています。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | processthreadsapi.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |