本文整理汇总了Golang中C.MEMORYSTATUSEX类的典型用法代码示例。如果您正苦于以下问题:Golang MEMORYSTATUSEX类的具体用法?Golang MEMORYSTATUSEX怎么用?Golang MEMORYSTATUSEX使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MEMORYSTATUSEX类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Get
func (self *Mem) Get() error {
var statex C.MEMORYSTATUSEX
statex.dwLength = C.DWORD(unsafe.Sizeof(statex))
succeeded := C.GlobalMemoryStatusEx(&statex)
if succeeded == C.FALSE {
lastError := C.GetLastError()
return fmt.Errorf("GlobalMemoryStatusEx failed with error: %d", int(lastError))
}
self.Total = uint64(statex.ullTotalPhys)
return nil
}
示例2: PhysmemAvail
func PhysmemAvail() uint64 {
var msex C.MEMORYSTATUSEX
msex.dwLength = C.DWORD(unsafe.Sizeof(msex))
/* Preferable */
if C.GlobalMemoryStatusEx(&msex) != C.FALSE {
return uint64(msex.ullAvailPhys)
}
/* Fallback because it's incorrect over 4GB */
var ms C.MEMORYSTATUS
C.GlobalMemoryStatus(&ms)
return uint64(ms.dwAvailPhys)
}
示例3: Get
func (self *Mem) Get() error {
var statex C.MEMORYSTATUSEX
statex.dwLength = C.DWORD(unsafe.Sizeof(statex))
succeeded := C.GlobalMemoryStatusEx(&statex)
if succeeded == C.FALSE {
return syscall.GetLastError()
}
self.Total = uint64(statex.ullTotalPhys)
self.Free = uint64(statex.ullAvailPhys)
self.Used = self.Total - self.Free
self.ActualFree = self.Free
self.ActualUsed = self.Used
return nil
}