MobinMQL/Include/WinAPI/sysinfoapi.mqh
2025-07-22 14:47:41 +03:00

95 lines
4.6 KiB
MQL5

//+------------------------------------------------------------------+
//| sysinfoapi.mqh |
//| Copyright 2000-2025, MetaQuotes Ltd. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#include <WinAPI\windef.mqh>
#include <WinAPI\winbase.mqh>
//---
enum COMPUTER_NAME_FORMAT
{
ComputerNameNetBIOS,
ComputerNameDnsHostname,
ComputerNameDnsDomain,
ComputerNameDnsFullyQualified,
ComputerNamePhysicalNetBIOS,
ComputerNamePhysicalDnsHostname,
ComputerNamePhysicalDnsDomain,
ComputerNamePhysicalDnsFullyQualified,
ComputerNameMax
};
//---
struct DUMMYSTRUCTNAME
{
uint dwOemId;
ushort wProcessorArchitecture;
ushort wReserved;
};
//---
struct MEMORYSTATUSEX
{
uint dwLength;
uint dwMemoryLoad;
ulong ullTotalPhys;
ulong ullAvailPhys;
ulong ullTotalPageFile;
ulong ullAvailPageFile;
ulong ullTotalVirtual;
ulong ullAvailVirtual;
ulong ullAvailExtendedVirtual;
};
//---
struct SYSTEM_INFO
{
uint dwOemId;
uint dwPageSize;
PVOID lpMinimumApplicationAddress;
PVOID lpMaximumApplicationAddress;
ulong dwActiveProcessorMask;
uint dwNumberOfProcessors;
uint dwProcessorType;
uint dwAllocationGranularity;
ushort wProcessorLevel;
ushort wProcessorRevision;
};
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
#import "kernel32.dll"
int GlobalMemoryStatusEx(MEMORYSTATUSEX &buffer);
void GetSystemInfo(SYSTEM_INFO &system_info);
void GetSystemTime(SYSTEMTIME &system_time);
void GetSystemTimeAsFileTime(FILETIME &system_time_as_file_time);
void GetLocalTime(SYSTEMTIME &system_time);
uint GetVersion(void);
int SetLocalTime(const SYSTEMTIME &system_time);
uint GetTickCount(void);
ulong GetTickCount64(void);
int GetSystemTimeAdjustment(uint &time_adjustment,uint &time_increment,int &time_adjustment_disabled);
uint GetSystemDirectoryW(ushort &buffer[],uint size);
uint GetWindowsDirectoryW(ushort &buffer[],uint size);
uint GetSystemWindowsDirectoryW(ushort &buffer[],uint size);
int GetComputerNameExW(COMPUTER_NAME_FORMAT name_type,ushort &buffer[],uint &size);
int SetComputerNameExW(COMPUTER_NAME_FORMAT name_type,const string buffer);
int SetSystemTime(const SYSTEMTIME &system_time);
int GetVersionExW(OSVERSIONINFOW &version_information);
int GetLogicalProcessorInformation(SYSTEM_LOGICAL_PROCESSOR_INFORMATION &buffer[],uint &returned_length);
int GetLogicalProcessorInformationEx(LOGICAL_PROCESSOR_RELATIONSHIP relationship_type,SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX &buffer[],uint &returned_length);
void GetNativeSystemInfo(SYSTEM_INFO &system_info);
void GetSystemTimePreciseAsFileTime(FILETIME &system_time_as_file_time);
int GetProductInfo(uint os_major_version,uint os_minor_version,uint sp_major_version,uint sp_minor_version,uint &returned_product_type);
uint EnumSystemFirmwareTables(uint firmware_table_provider_signature,PVOID &firmware_table_enum_buffer,uint buffer_size);
uint EnumSystemFirmwareTables(uint firmware_table_provider_signature,uchar &firmware_table_enum_buffer[],uint buffer_size);
uint GetSystemFirmwareTable(uint firmware_table_provider_signature,uint firmware_table_id,PVOID firmware_table_buffer,uint buffer_size);
uint GetSystemFirmwareTable(uint firmware_table_provider_signature,uint firmware_table_id,uchar &firmware_table_buffer[],uint buffer_size);
int DnsHostnameToComputerNameExW(const string hostname,ushort &computer_name[],uint &size);
int GetPhysicallyInstalledSystemMemory(ulong &total_memory_in_kilobytes);
int SetComputerNameEx2W(COMPUTER_NAME_FORMAT name_type,uint flags,const string buffer);
int SetSystemTimeAdjustment(uint time_adjustment,int time_adjustment_disabled);
int InstallELAMCertificateInfo(HANDLE elam_file);
int GetProcessorSystemCycleTime(ushort group,PVOID &buffer,uint &returned_length);
int GetProcessorSystemCycleTime(ushort group,SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION &buffer[],uint &returned_length);
int SetComputerNameW(const string computer_name);
#import
//+------------------------------------------------------------------+