IsProcessorFeaturePresent-Funktion (processthreadsapi.h)

Bestimmt, ob das angegebene Prozessorfeature vom aktuellen Computer unterstützt wird.

Syntax

BOOL IsProcessorFeaturePresent(
  [in] DWORD ProcessorFeature
);

Parameter

[in] ProcessorFeature

Das zu testende Prozessorfeature. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
PF_ARM_64BIT_LOADSTORE_ATOMIC
25
Die atomaren 64-Bit-Lade-/Speicheranweisungen sind verfügbar.
PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE
24
Die Anweisungen zur Aufteilung sind verfügbar.
PF_ARM_EXTERNAL_CACHE_AVAILABLE
26
Der externe Cache ist verfügbar.
PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE
27
Die Gleitkommaanweisung für multiplizierte Akkumulation ist verfügbar.
PF_ARM_VFP_32_REGISTERS_AVAILABLE
18
Die VFP/Neon: 32 x 64-Bit-Registerbank ist vorhanden. Dieses Flag hat die gleiche Bedeutung wie PF_ARM_VFP_EXTENDED_REGISTERS.
PF_3DNOW_INSTRUCTIONS_AVAILABLE
7
Der 3D-Now-Befehlssatz ist verfügbar.
PF_CHANNELS_ENABLED
16
Die Prozessorkanäle sind aktiviert.
PF_COMPARE_EXCHANGE_DOUBLE
2
Der atomische Vergleichs- und Austauschvorgang (cmpxchg) ist verfügbar.
PF_COMPARE_EXCHANGE128
14
Der atomische 128-Bit-Vorgang (cmpxchg16b) ist verfügbar.

Windows Server 2003 und Windows XP/2000: Dieses Feature wird nicht unterstützt.

PF_COMPARE64_EXCHANGE128
15
Der Atomic Compare 64- und exchange 128-Bit-Vorgang (cmp8xchg16) ist verfügbar.

Windows Server 2003 und Windows XP/2000: Dieses Feature wird nicht unterstützt.

PF_FASTFAIL_AVAILABLE
23
_fastfail() ist verfügbar.
PF_FLOATING_POINT_EMULATED
1
Gleitkommavorgänge werden mithilfe eines Softwareemulators emuliert.

Diese Funktion gibt einen Ungleichwert zurück, wenn Gleitkommavorgänge emuliert werden. Andernfalls wird null zurückgegeben.

PF_FLOATING_POINT_PRECISION_ERRATA
0
Bei einem Pentium kann in seltenen Fällen ein Gleitkommagenauigkeitsfehler auftreten.
PF_MMX_INSTRUCTIONS_AVAILABLE
3
Der MMX-Befehlssatz ist verfügbar.
PF_NX_ENABLED
12

Die Verhinderung der Datenausführung ist aktiviert.

Windows XP/2000: Dieses Feature wird erst unter Windows XP mit SP2 und Windows Server 2003 mit SP1 unterstützt.

PF_PAE_ENABLED
9
Der Prozessor ist PAE-fähig. Weitere Informationen finden Sie unter Physische Adresserweiterung.

Alle x64-Prozessoren geben immer einen Nonzero-Wert für dieses Feature zurück.

PF_RDTSC_INSTRUCTION_AVAILABLE
8
Die RDTSC-Anweisung ist verfügbar.
PF_RDWRFSGSBASE_AVAILABLE
22
RDFSBASE-, RDGSBASE-, WRFSBASE- und WRGSBASE-Anweisungen sind verfügbar.
PF_SECOND_LEVEL_ADDRESS_TRANSLATION
20
Die Second Level Address Translation wird von der Hardware unterstützt.
PF_SSE3_INSTRUCTIONS_AVAILABLE
13
Der SSE3-Befehlssatz ist verfügbar.

Windows Server 2003 und Windows XP/2000: Dieses Feature wird nicht unterstützt.

PF_SSSE3_INSTRUCTIONS_AVAILABLE
36
Der SSSE3-Befehlssatz ist verfügbar.
PF_SSE4_1_INSTRUCTIONS_AVAILABLE
37
Der SSE4_1-Anweisungssatz ist verfügbar.
PF_SSE4_2_INSTRUCTIONS_AVAILABLE
38
Der SSE4_2-Befehlssatz ist verfügbar.
PF_AVX_INSTRUCTIONS_AVAILABLE
39
Der AVX-Befehlssatz ist verfügbar.
PF_AVX2_INSTRUCTIONS_AVAILABLE
40
Der AVX2-Befehlssatz ist verfügbar.
PF_AVX512F_INSTRUCTIONS_AVAILABLE
41
Der AVX512F-Befehlssatz ist verfügbar.
PF_VIRT_FIRMWARE_ENABLED
21
Die Virtualisierung wird in der Firmware aktiviert und vom Betriebssystem zur Verfügung gestellt.
PF_XMMI_INSTRUCTIONS_AVAILABLE
6
Der SSE-Befehlssatz ist verfügbar.
PF_XMMI64_INSTRUCTIONS_AVAILABLE
10
Der SSE2-Befehlssatz ist verfügbar.

Windows 2000: Dieses Feature wird nicht unterstützt.

PF_XSAVE_ENABLED
17
Der Prozessor implementiert die Anweisungen XSAVE und XRSTOR.

Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP/2000: Dieses Feature wird erst unter Windows 7 und Windows Server 2008 R2 unterstützt.

PF_ARM_V8_INSTRUCTIONS_AVAILABLE
29
Dieser Arm-Prozessor implementiert den Arm v8-Anweisungssatz.
PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE
30
Dieser Arm-Prozessor implementiert die zusätzlichen kryptografischen Anweisungen von Arm v8 (z. B. AES, SHA1 und SHA2).
PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE
31
Dieser Arm-Prozessor implementiert die zusätzlichen Anweisungen für Arm v8 CRC32.
PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE
34
Dieser Arm-Prozessor implementiert die atomaren Arm v8.1-Anweisungen (z. B. CAS, SWP).
PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE
43
Dieser Arm-Prozessor implementiert die Arm v8.2 DP-Anweisungen (z. B. SDOT, UDOT). Dieses Feature ist in Arm v8.2-Implementierungen optional und in Arm v8.4-Implementierungen obligatorisch.
PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE
44
Dieser Arm-Prozessor implementiert die Arm v8.3 JSCVT-Anweisungen (z. B. FJCVTZS).
PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE
45
Dieser Arm-Prozessor implementiert die Arm v8.3 LRCPC-Anweisungen (z. B. LDAPR). Beachten Sie, dass bestimmte Arm v8.2-CPUs optional die LRCPC-Anweisungen unterstützen.

Rückgabewert

Wenn das Feature unterstützt wird, ist der Rückgabewert ein nichtzero-Wert.

Wenn das Feature nicht unterstützt wird, ist der Rückgabewert 0.

Wenn die HAL die Erkennung des Features nicht unterstützt, unabhängig davon, ob die Hardware das Feature unterstützt oder nicht, ist auch der Rückgabewert 0.

Hinweise

Unterstützung für PF_SSSE3_INSTRUCTIONS_AVAILABLE durch PF_AVX512F_INSTRUCTIONS_AVAILABLE wurde im Windows SDK (19041) hinzugefügt und wird von Windows 10, Version 2004 (Mai 2020 Update) oder höher unterstützt.

Unterstützung für PF_ERMS_AVAILABLE, PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLEund PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE wurden im Windows SDK (20348) hinzugefügt und von Windows 11 und Windows Server 2022 unterstützt.

Der define PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE wurde im Windows SDK (22621) hinzugefügt und wird von Windows 11, Version 22H2, unterstützt.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile processthreadsapi.h (einschließlich Windows.h)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

In VBS-Enklaven verfügbare Vertdll-APIs

Systeminformationsfunktionen