Функция IsProcessorFeaturePresent

Declare Function IsProcessorFeaturePresent Lib "kernel32" _
    (ByVal ProcessorFeature As Long) As Long

IsProcessorFeaturePresent определяет, поддерживается ли указанная особенность на процессоре текущего компьютера.

Возвращаемое значение

Если указанная особенность поддерживается, то возвращается ненулевое значение, если не поддерживается, то возвращается 0.

Параметры

ProcessorFeature
Строка для хранения имени компьютера и заканчивающаяся нулевым символом
Определяет проверяемую особенность процессора. Это значение может быть одним из следующих: Доступны инструкции 3D-Now
PF_3DNOW_INSTRUCTIONS_AVAILABLE = 7
PF_CHANNELS_ENABLED = 16Доступны каналы процессора
PF_COMPARE_EXCHANGE_DOUBLE = 2Возможен сравнение и обмен двойными операциями (Pentium, MIPS, and Alpha)
PF_COMPARE_EXCHANGE128 = 14The atomic compare and exchange 128-bit operation (cmpxchg16b) is available. Windows Server 2003 and Windows XP/2000: This feature is not supported.
PF_COMPARE64_EXCHANGE128 = 15The atomic compare 64 and exchange 128-bit operation (cmp8xchg16) is available. Windows Server 2003 and Windows XP/2000: This feature is not supported.
PF_FLOATING_POINT_EMULATED = 1Операции с плавающей точкой эмулируются использованием программного эмулятора
PF_FLOATING_POINT_PRECISION_ERRATA = 0В редких случаях, присутствует ли ошибка точности операций с плавающей точкой (Pentium).
PF_MMX_INSTRUCTIONS_AVAILABLE = 3Имеются инструкции MMX
PF_NX_ENABLED = 12Включено предотвращение исполнения данных
PF_PAE_ENABLED = 9В процессоре включено расширение физического адреса
PF_RDTSC_INSTRUCTION_AVAILABLE = 8Доступны инструкции RDTSC
PF_SSE3_INSTRUCTIONS_AVAILABLE = 13Доступен набор инструкций SSE3
PF_XMMI_INSTRUCTIONS_AVAILABLE = 6Доступен набор инструкций SSE
PF_XMMI64_INSTRUCTIONS_AVAILABLE = 10Доступен набор инструкций SSE2

Пример

' Проверяем доступность MMX-инструкций
Dim bCheckProc As Boolean
bCheckProc = IsProcessorFeaturePresent(PF_MMX_INSTRUCTIONS_AVAILABLE)
Print bCheckProc

Категория

Системная информация