Как получить информацию о процессоре и его характеристиках
Явно одного вызова GetSystemInfo недостаточно.
Как я могу получить полную информацию о процессоре? Частоту, тип, доступный набор инструкций и проч параметры?
Явно одного вызова GetSystemInfo недостаточно.
cpuid или
копай в сторону WMI.
cpuid или
копай в сторону WMI.
WMI. тут один уже в "Низкоуровневом" поюзал cpuid :)
Как я могу получить полную информацию о процессоре? Частоту, тип, доступный набор инструкций и проч параметры?
Явно одного вызова GetSystemInfo недостаточно.
Средствами Wind'ы:
Начиная с Windows 2000 есть возможность получить некоторую информацию о процессоре(к примеру частоту) при помощи функции ZwPowerInformation.
Средствами Wind'ы:
Начиная с Windows 2000 есть возможность получить некоторую информацию о процессоре(к примеру частоту) при помощи функции ZwPowerInformation.
Откуда ты взял эту функцию? Чето нигде ее прототипчика не найду..
Откуда ты взял эту функцию? Чето нигде ее прототипчика не найду..
Значит плохо ищешь ;)
ZwPowerInformation
ZwPowerInformation sets or queries power information.
NTSYSAPI
NTSTATUS
NTAPI
ZwPowerInformation(
IN POWER_INFORMATION_LEVEL PowerInformationLevel,
IN PVOID InputBuffer OPTIONAL,
IN ULONG InputBufferLength,
OUT PVOID OutputBuffer OPTIONAL,
IN ULONG OutputBufferLength
);
Parameters
PowerInformationLevel
The code for the information level to be queried or set. Permitted values are drawn
from the enumeration POWER_INFORMATION_LEVEL, described in the following section.
InputBuffer
Points to a caller-allocated buffer or variable that contains the data required to perform
the operation.This parameter can be null if the PowerInformationLevel parameter
specifies a level that does not require input data.
InputBufferLength
The size in bytes of InputBuffer.
OutputBuffer
Points to a caller-allocated buffer or variable that receives the operation’s output data.
This parameter can be null if the PowerInformationLevel parameter specifies a level
that does not produce output data.
OutputBufferLength
The size in bytes of OutputBuffer.
Return Value
Returns STATUS_SUCCESS or an error status, such as STATUS_PRIVILEGE_NOT_HELD or
STATUS_BUFFER_TOO_SMALL.
Related Win32 Functions
None.
Remarks
The routine ZwPowerInformation is only present in Windows 2000.
SeCreatePagefilePrivilege is required to set the SystemReserveHiberFile.
SeShutdownPrivilege is required to set any other settable information level.
POWER_INFORMATION_LEVEL
typedef enum {
SystemPowerPolicyAc,
SystemPowerPolicyDc,
VerifySystemPolicyAc,
VerifySystemPolicyDc,
SystemPowerCapabilities,
SystemBatteryState,
SystemPowerStateHandler,
ProcessorStateHandler,
SystemPowerPolicyCurrent,
AdministratorPowerPolicy,
SystemReserveHiberFile,
ProcessorInformation,
SystemPowerInformation
} POWER_INFORMATION_LEVEL;
ProcessorInformation
typedef struct _PROCESSOR_POWER_INFORMATION {
ULONG Number;
ULONG MaxMhz;
ULONG CurrentMhz;
ULONG MhzLimit;
ULONG MaxIdleState;
ULONG CurrentIdleState;
} PROCESSOR_POWER_INFORMATION, *PPROCESSOR_POWER_INFORMATION;