//go:build windows // Package collector 提供 Windows 逻辑磁盘使用率采集能力。 // Logan.Li package collector import ( "fmt" "syscall" "unsafe" "ezops/agent/model" ) type DiskCollector struct{} func NewDiskCollector() *DiskCollector { return &DiskCollector{} } func (d *DiskCollector) Collect() ([]model.DiskStat, error) { mask, _, err := syscall.NewLazyDLL("kernel32.dll").NewProc("GetLogicalDrives").Call() if mask == 0 { return nil, fmt.Errorf("GetLogicalDrives 失败: %w", err) } var disks []model.DiskStat for i := 0; i < 26; i++ { if mask&(1<