Files
rpi5-health/internal/system_check/win.go
T
2026-10-05 14:17:03 +02:00

29 lines
659 B
Go

package system_check
import (
"sync"
"golang.org/x/sys/windows"
)
type WindowsSystemCheckTools struct {
/*
* Win32 API
*/
Kernel32 *windows.LazyDLL
/*
* Windows memory information
*/
ProcGlobalMemoryStatusEx *windows.LazyProc
}
func getWindowsTools() WindowsSystemCheckTools {
kernel32 := sync.OnceValue(func() *windows.LazyDLL { return windows.NewLazySystemDLL("kernel32.dll") })
procGlobalMemoryStatusEx := sync.OnceValue(func() *windows.LazyProc { return kernel32().NewProc("GlobalMemoryStatusEx") })
return WindowsSystemCheckTools{
Kernel32: kernel32(),
ProcGlobalMemoryStatusEx: procGlobalMemoryStatusEx(),
}
}