mirror of
https://github.com/Ed94/Odin.git
synced 2026-07-31 03:40:08 +00:00
[sys/info] Initial version.
This commit is contained in:
@@ -637,6 +637,13 @@ foreign kernel32 {
|
||||
) -> BOOL ---
|
||||
}
|
||||
|
||||
@(default_calling_convention="stdcall")
|
||||
foreign kernel32 {
|
||||
GlobalMemoryStatusEx :: proc(
|
||||
lpBuffer: ^MEMORYSTATUSEX,
|
||||
) -> BOOL ---
|
||||
}
|
||||
|
||||
PBAD_MEMORY_CALLBACK_ROUTINE :: #type proc "stdcall" ()
|
||||
|
||||
@(default_calling_convention="stdcall")
|
||||
@@ -794,3 +801,14 @@ Control_Event :: enum DWORD {
|
||||
logoff = 5,
|
||||
shutdown = 6,
|
||||
}
|
||||
|
||||
@(default_calling_convention="stdcall")
|
||||
foreign kernel32 {
|
||||
GetProductInfo :: proc(
|
||||
OSMajorVersion: DWORD,
|
||||
OSMinorVersion: DWORD,
|
||||
SpMajorVersion: DWORD,
|
||||
SpMinorVersion: DWORD,
|
||||
product_type: ^Windows_Product_Type,
|
||||
) -> BOOL ---
|
||||
}
|
||||
@@ -17,6 +17,7 @@ size_t :: c.size_t
|
||||
wchar_t :: c.wchar_t
|
||||
|
||||
DWORD :: c_ulong
|
||||
DWORDLONG :: c.ulonglong
|
||||
QWORD :: c.ulonglong
|
||||
HANDLE :: distinct LPVOID
|
||||
HINSTANCE :: HANDLE
|
||||
@@ -3265,3 +3266,116 @@ IFileSaveDialogVtbl :: struct {
|
||||
GetProperties: proc "stdcall" (this: ^IFileSaveDialog, ppStore: ^^IPropertyStore) -> HRESULT,
|
||||
ApplyProperties: proc "stdcall" (this: ^IFileSaveDialog, psi: ^IShellItem, pStore: ^IPropertyStore, hwnd: HWND, pSink: ^IFileOperationProgressSink) -> HRESULT,
|
||||
}
|
||||
|
||||
MEMORYSTATUSEX :: struct {
|
||||
dwLength: DWORD,
|
||||
dwMemoryLoad: DWORD,
|
||||
ullTotalPhys: DWORDLONG,
|
||||
ullAvailPhys: DWORDLONG,
|
||||
ullTotalPageFil: DWORDLONG,
|
||||
ullAvailPageFil: DWORDLONG,
|
||||
ullTotalVirtual: DWORDLONG,
|
||||
ullAvailVirtual: DWORDLONG,
|
||||
ullAvailExtendedVirtual: DWORDLONG,
|
||||
}
|
||||
|
||||
Windows_Product_Type :: enum DWORD {
|
||||
BUSINESS = 0x00000006, // Business
|
||||
BUSINESS_N = 0x00000010, // Business N
|
||||
CLUSTER_SERVER = 0x00000012, // HPC Edition
|
||||
CLUSTER_SERVER_V = 0x00000040, // Server Hyper Core V
|
||||
CORE = 0x00000065, // Windows 10 Home
|
||||
CORE_COUNTRYSPECIFIC = 0x00000063, // Windows 10 Home China
|
||||
CORE_N = 0x00000062, // Windows 10 Home N
|
||||
CORE_SINGLELANGUAGE = 0x00000064, // Windows 10 Home Single Language
|
||||
DATACENTER_EVALUATION_SERVER = 0x00000050, // Server Datacenter (evaluation installation)
|
||||
DATACENTER_A_SERVER_CORE = 0x00000091, // Server Datacenter, Semi-Annual Channel (core installation)
|
||||
STANDARD_A_SERVER_CORE = 0x00000092, // Server Standard, Semi-Annual Channel (core installation)
|
||||
DATACENTER_SERVER = 0x00000008, // Server Datacenter (full installation. For Server Core installations of Windows Server 2012 and later, use the method, Determining whether Server Core is running.)
|
||||
DATACENTER_SERVER_CORE = 0x0000000C, // Server Datacenter (core installation, Windows Server 2008 R2 and earlier)
|
||||
DATACENTER_SERVER_CORE_V = 0x00000027, // Server Datacenter without Hyper-V (core installation)
|
||||
DATACENTER_SERVER_V = 0x00000025, // Server Datacenter without Hyper-V (full installation)
|
||||
EDUCATION = 0x00000079, // Windows 10 Education
|
||||
EDUCATION_N = 0x0000007A, // Windows 10 Education N
|
||||
ENTERPRISE = 0x00000004, // Windows 10 Enterprise
|
||||
ENTERPRISE_E = 0x00000046, // Windows 10 Enterprise E
|
||||
ENTERPRISE_EVALUATION = 0x00000048, // Windows 10 Enterprise Evaluation
|
||||
ENTERPRISE_N = 0x0000001B, // Windows 10 Enterprise N
|
||||
ENTERPRISE_N_EVALUATION = 0x00000054, // Windows 10 Enterprise N Evaluation
|
||||
ENTERPRISE_S = 0x0000007D, // Windows 10 Enterprise 2015 LTSB
|
||||
ENTERPRISE_S_EVALUATION = 0x00000081, // Windows 10 Enterprise 2015 LTSB Evaluation
|
||||
ENTERPRISE_S_N = 0x0000007E, // Windows 10 Enterprise 2015 LTSB N
|
||||
ENTERPRISE_S_N_EVALUATION = 0x00000082, // Windows 10 Enterprise 2015 LTSB N Evaluation
|
||||
ENTERPRISE_SERVER = 0x0000000A, // Server Enterprise (full installation)
|
||||
ENTERPRISE_SERVER_CORE = 0x0000000E, // Server Enterprise (core installation)
|
||||
ENTERPRISE_SERVER_CORE_V = 0x00000029, // Server Enterprise without Hyper-V (core installation)
|
||||
ENTERPRISE_SERVER_IA64 = 0x0000000F, // Server Enterprise for Itanium-based Systems
|
||||
ENTERPRISE_SERVER_V = 0x00000026, // Server Enterprise without Hyper-V (full installation)
|
||||
ESSENTIALBUSINESS_SERVER_ADDL = 0x0000003C, // Windows Essential Server Solution Additional
|
||||
ESSENTIALBUSINESS_SERVER_ADDLSVC = 0x0000003E, // Windows Essential Server Solution Additional SVC
|
||||
ESSENTIALBUSINESS_SERVER_MGMT = 0x0000003B, // Windows Essential Server Solution Management
|
||||
ESSENTIALBUSINESS_SERVER_MGMTSVC = 0x0000003D, // Windows Essential Server Solution Management SVC
|
||||
HOME_BASIC = 0x00000002, // Home Basic
|
||||
HOME_BASIC_E = 0x00000043, // Not supported
|
||||
HOME_BASIC_N = 0x00000005, // Home Basic N
|
||||
HOME_PREMIUM = 0x00000003, // Home Premium
|
||||
HOME_PREMIUM_E = 0x00000044, // Not supported
|
||||
HOME_PREMIUM_N = 0x0000001A, // Home Premium N
|
||||
HOME_PREMIUM_SERVER = 0x00000022, // Windows Home Server 2011
|
||||
HOME_SERVER = 0x00000013, // Windows Storage Server 2008 R2 Essentials
|
||||
HYPERV = 0x0000002A, // Microsoft Hyper-V Server
|
||||
IOTENTERPRISE = 0x000000BC, // Windows IoT Enterprise
|
||||
IOTENTERPRISE_S = 0x000000BF, // Windows IoT Enterprise LTSC
|
||||
IOTUAP = 0x0000007B, // Windows 10 IoT Core
|
||||
IOTUAPCOMMERCIAL = 0x00000083, // Windows 10 IoT Core Commercial
|
||||
MEDIUMBUSINESS_SERVER_MANAGEMENT = 0x0000001E, // Windows Essential Business Server Management Server
|
||||
MEDIUMBUSINESS_SERVER_MESSAGING = 0x00000020, // Windows Essential Business Server Messaging Server
|
||||
MEDIUMBUSINESS_SERVER_SECURITY = 0x0000001F, // Windows Essential Business Server Security Server
|
||||
MOBILE_CORE = 0x00000068, // Windows 10 Mobile
|
||||
MOBILE_ENTERPRISE = 0x00000085, // Windows 10 Mobile Enterprise
|
||||
MULTIPOINT_PREMIUM_SERVER = 0x0000004D, // Windows MultiPoint Server Premium (full installation)
|
||||
MULTIPOINT_STANDARD_SERVER = 0x0000004C, // Windows MultiPoint Server Standard (full installation)
|
||||
PRO_WORKSTATION = 0x000000A1, // Windows 10 Pro for Workstations
|
||||
PRO_WORKSTATION_N = 0x000000A2, // Windows 10 Pro for Workstations N
|
||||
PROFESSIONAL = 0x00000030, // Windows 10 Pro
|
||||
PROFESSIONAL_E = 0x00000045, // Not supported
|
||||
PROFESSIONAL_N = 0x00000031, // Windows 10 Pro N
|
||||
PROFESSIONAL_WMC = 0x00000067, // Professional with Media Center
|
||||
SB_SOLUTION_SERVER = 0x00000032, // Windows Small Business Server 2011 Essentials
|
||||
SB_SOLUTION_SERVER_EM = 0x00000036, // Server For SB Solutions EM
|
||||
SERVER_FOR_SB_SOLUTIONS = 0x00000033, // Server For SB Solutions
|
||||
SERVER_FOR_SB_SOLUTIONS_EM = 0x00000037, // Server For SB Solutions EM
|
||||
SERVER_FOR_SMALLBUSINESS = 0x00000018, // Windows Server 2008 for Windows Essential Server Solutions
|
||||
SERVER_FOR_SMALLBUSINESS_V = 0x00000023, // Windows Server 2008 without Hyper-V for Windows Essential Server Solutions
|
||||
SERVER_FOUNDATION = 0x00000021, // Server Foundation
|
||||
SMALLBUSINESS_SERVER = 0x00000009, // Windows Small Business Server
|
||||
SMALLBUSINESS_SERVER_PREMIUM = 0x00000019, // Small Business Server Premium
|
||||
SMALLBUSINESS_SERVER_PREMIUM_CORE = 0x0000003F, // Small Business Server Premium (core installation)
|
||||
SOLUTION_EMBEDDEDSERVER = 0x00000038, // Windows MultiPoint Server
|
||||
STANDARD_EVALUATION_SERVER = 0x0000004F, // Server Standard (evaluation installation)
|
||||
STANDARD_SERVER = 0x00000007, // Server Standard (full installation. For Server Core installations of Windows Server 2012 and later, use the method, Determining whether Server Core is running.)
|
||||
STANDARD_SERVER_CORE = 0x0000000D, // Server Standard (core installation, Windows Server 2008 R2 and earlier)
|
||||
STANDARD_SERVER_CORE_V = 0x00000028, // Server Standard without Hyper-V (core installation)
|
||||
STANDARD_SERVER_V = 0x00000024, // Server Standard without Hyper-V
|
||||
STANDARD_SERVER_SOLUTIONS = 0x00000034, // Server Solutions Premium
|
||||
STANDARD_SERVER_SOLUTIONS_CORE = 0x00000035, // Server Solutions Premium (core installation)
|
||||
STARTER = 0x0000000B, // Starter
|
||||
STARTER_E = 0x00000042, // Not supported
|
||||
STARTER_N = 0x0000002F, // Starter N
|
||||
STORAGE_ENTERPRISE_SERVER = 0x00000017, // Storage Server Enterprise
|
||||
STORAGE_ENTERPRISE_SERVER_CORE = 0x0000002E, // Storage Server Enterprise (core installation)
|
||||
STORAGE_EXPRESS_SERVER = 0x00000014, // Storage Server Express
|
||||
STORAGE_EXPRESS_SERVER_CORE = 0x0000002B, // Storage Server Express (core installation)
|
||||
STORAGE_STANDARD_EVALUATION_SERVER = 0x00000060, // Storage Server Standard (evaluation installation)
|
||||
STORAGE_STANDARD_SERVER = 0x00000015, // Storage Server Standard
|
||||
STORAGE_STANDARD_SERVER_CORE = 0x0000002C, // Storage Server Standard (core installation)
|
||||
STORAGE_WORKGROUP_EVALUATION_SERVER = 0x0000005F, // Storage Server Workgroup (evaluation installation)
|
||||
STORAGE_WORKGROUP_SERVER = 0x00000016, // Storage Server Workgroup
|
||||
STORAGE_WORKGROUP_SERVER_CORE = 0x0000002D, // Storage Server Workgroup (core installation)
|
||||
ULTIMATE = 0x00000001, // Ultimate
|
||||
ULTIMATE_E = 0x00000047, // Not supported
|
||||
ULTIMATE_N = 0x0000001C, // Ultimate N
|
||||
UNDEFINED = 0x00000000, // An unknown product
|
||||
WEB_SERVER = 0x00000011, // Web Server (full installation)
|
||||
WEB_SERVER_CORE = 0x0000001D, // Web Server (core installation)
|
||||
}
|
||||
Reference in New Issue
Block a user