Fonction IsProcessorFeaturePresent (processthreadsapi.h)
Détermine si la fonctionnalité de processeur spécifiée est prise en charge par l’ordinateur actuel.
Syntaxe
BOOL IsProcessorFeaturePresent(
[in] DWORD ProcessorFeature
);
Paramètres
[in] ProcessorFeature
Fonctionnalité de processeur à tester. Ce paramètre peut prendre les valeurs suivantes.
Valeur | Signification |
---|---|
|
Les instructions atomiques de chargement/stockage 64 bits sont disponibles. |
|
Les instructions de division sont disponibles. |
|
Le cache externe est disponible. |
|
L’instruction multiplier-accumuler à virgule flottante est disponible. |
|
La banque de registre VFP/Neon : 32 x 64 bits est présente. Cet indicateur a la même signification que PF_ARM_VFP_EXTENDED_REGISTERS. |
|
Le jeu d’instructions 3D-Now est disponible. |
|
Les canaux du processeur sont activés. |
|
L’opération de comparaison et d’échange atomiques (cmpxchg) est disponible. |
|
L’opération de comparaison et d’échange atomiques 128 bits (cmpxchg16b) est disponible.
Windows Server 2003 et Windows XP/2000 : Cette fonctionnalité n’est pas prise en charge. |
|
L’opération de comparaison atomique 64 et d’échange 128 bits (cmp8xchg16) est disponible.
Windows Server 2003 et Windows XP/2000 : Cette fonctionnalité n’est pas prise en charge. |
|
_fastfail() est disponible. |
|
Les opérations à virgule flottante sont émulées à l’aide d’un émulateur logiciel.
Cette fonction retourne une valeur différente de zéro si des opérations à virgule flottante sont émulées ; sinon, il retourne zéro. |
|
Sur un Pentium, une erreur de précision à virgule flottante peut se produire dans de rares circonstances. |
|
Le jeu d’instructions MMX est disponible. |
|
La prévention de l’exécution des données est activée. Windows XP/2000 : Cette fonctionnalité n’est pas prise en charge tant que Windows XP avec SP2 et Windows Server 2003 avec SP1. |
|
Le processeur est compatible PAE. Pour plus d’informations, consultez Extension d’adresse physique.
Tous les processeurs x64 retournent toujours une valeur différente de zéro pour cette fonctionnalité. |
|
L’instruction RDTSC est disponible. |
|
Les instructions RDFSBASE, RDGSBASE, WRFSBASE et WRGSBASE sont disponibles. |
|
La traduction d’adresses de deuxième niveau est prise en charge par le matériel. |
|
Le jeu d’instructions SSE3 est disponible.
Windows Server 2003 et Windows XP/2000 : Cette fonctionnalité n’est pas prise en charge. |
|
Le jeu d’instructions SSSE3 est disponible. |
|
Le jeu d’instructions SSE4_1 est disponible. |
|
Le jeu d’instructions SSE4_2 est disponible. |
|
Le jeu d’instructions AVX est disponible. |
|
Le jeu d’instructions AVX2 est disponible. |
|
Le jeu d’instructions AVX512F est disponible. |
|
La virtualisation est activée dans le microprogramme et rendue disponible par le système d’exploitation. |
|
Le jeu d’instructions SSE est disponible. |
|
Le jeu d’instructions SSE2 est disponible.
Windows 2000 : Cette fonctionnalité n’est pas prise en charge. |
|
Le processeur implémente les instructions XSAVE et XRSTOR.
Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP/2000 : Cette fonctionnalité n’est pas prise en charge tant que Windows 7 et Windows Server 2008 R2. |
|
Ce processeur Arm implémente l’ensemble d’instructions Arm v8. |
|
Ce processeur Arm implémente les instructions de chiffrement supplémentaires Arm v8 (par exemple, AES, SHA1 et SHA2). |
|
Ce processeur Arm implémente les instructions CRC32 supplémentaires Arm v8. |
|
Ce processeur Arm implémente les instructions atomiques Arm v8.1 (par exemple, CAS, SWP). |
|
Ce processeur Arm implémente les instructions arm v8.2 DP (par exemple, SDOT, UDOT). Cette fonctionnalité est facultative dans les implémentations Arm v8.2 et obligatoire dans les implémentations Arm v8.4. |
|
Ce processeur Arm implémente les instructions JSCVT Arm v8.3 (par exemple, FJCVTZS). |
|
Ce processeur Arm implémente les instructions Arm v8.3 LRCPC (par exemple, LDAPR). Notez que certains processeurs Arm v8.2 peuvent éventuellement prendre en charge les instructions LRCPC. |
Valeur retournée
Si la fonctionnalité est prise en charge, la valeur de retour est une valeur différente de zéro.
Si la fonctionnalité n’est pas prise en charge, la valeur de retour est zéro.
Si la hal ne prend pas en charge la détection de la fonctionnalité, que le matériel prenne ou non en charge la fonctionnalité, la valeur de retour est également zéro.
Remarques
La prise en charge de PF_SSSE3_INSTRUCTIONS_AVAILABLE
via PF_AVX512F_INSTRUCTIONS_AVAILABLE
a été ajoutée dans le SDK Windows (19041) et est prise en charge par Windows 10, version 2004 (mise à jour de mai 2020) ou ultérieure.
La prise en charge de PF_ERMS_AVAILABLE
, PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE
et PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE
ont été ajoutés dans le SDK Windows (20348) et sont pris en charge par Windows 11 et Windows Server 2022.
La définition PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE
a été ajoutée dans le SDK Windows (22621) et est prise en charge par Windows 11, version 22H2.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | processthreadsapi.h (inclure Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |