shirou_gopsutil/common/common_windows.go

32 lines
572 B
Go
Raw Normal View History

// +build windows
2014-12-30 21:09:05 +08:00
package common
import (
"syscall"
2014-05-16 10:33:35 +08:00
"unsafe"
)
2014-04-20 00:53:00 +08:00
var (
2014-11-27 21:28:05 +08:00
Modkernel32 = syscall.NewLazyDLL("kernel32.dll")
ModNt = syscall.NewLazyDLL("ntdll.dll")
2014-11-27 21:28:05 +08:00
ProcGetSystemTimes = Modkernel32.NewProc("GetSystemTimes")
ProcNtQuerySystemInformation = ModNt.NewProc("NtQuerySystemInformation")
2014-04-20 00:53:00 +08:00
)
type FILETIME struct {
DwLowDateTime uint32
DwHighDateTime uint32
}
2014-05-16 10:33:35 +08:00
// borrowed from net/interface_windows.go
func BytePtrToString(p *uint8) string {
2014-05-16 10:33:35 +08:00
a := (*[10000]uint8)(unsafe.Pointer(p))
i := 0
for a[i] != 0 {
i++
}
return string(a[:i])
}