GO-通过WMI获取存储设备信息

1、包名github.com/StackExchange/wmi

2、简单实现

package main
import (
    "fmt"
    "github.com/StackExchange/wmi"
    "log"
    "reflect"
    "time"
)

// 即插即用设备
type PnPEntity struct {
    Availability                uint16
    Caption                     string
    ClassGuid                   string
    CompatibleID                []string
    ConfigManagerErrorCode      uint32
    ConfigManagerUserConfig     bool
    CreationClassName           string
    Description                 string
    DeviceID                    string
    ErrorCleared                bool
    ErrorDescription            string
    HardwareID                  []string
    InstallDate                 time.Time
    LastErrorCode               uint32
    Manufacturer                string
    Name                        string
    PNPClass                    string
    PNPDeviceID                 string
    PowerManagementCapabilities []uint16
    PowerManagementSupported    bool
    Present                     bool
    Service                     string
    Status                      string
    StatusInfo                  uint16
    SystemCreationClassName     string
    SystemName                  string
}
func main(){
    var dst []PnPEntity
    str := "SELECT * FROM Win32_PnPEntity"
    err := wmi.Query(str, &dst)
    if err != nil {
        log.Fatal(err)
        return
    }
    for _, v := range dst {
        if v.Service == "USBSTOR" {
            fmt.Println(v)
      }

}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。