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

2020-05-23  本文已影响0人  Bug2Coder

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)
      }

}
上一篇 下一篇

猜你喜欢

热点阅读