使用 Go 在 Windows 中查询驱动器总大小
获取驱动器总大小对于各种应用程序至关重要。本文演示了如何使用 Go 中的标准 Windows API 调用来检索此信息。
如前所述,可以使用 kernel32.dll 中的 GetDiskFreeSpaceExW() 函数。它采用目录路径作为输入,并提供三个输出参数:
要使用此函数,请为所需的输出分配变量:
import "syscall" kernelDLL := syscall.MustLoadDLL("kernel32.dll") GetDiskFreeSpaceExW := kernelDLL.MustFindProc("GetDiskFreeSpaceExW") var free, total, avail int64 path := "c:\" r1, r2, lastErr := GetDiskFreeSpaceExW.Call( uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(path))), uintptr(unsafe.Pointer(&free)), uintptr(unsafe.Pointer(&total)), uintptr(unsafe.Pointer(&avail)), )
示例输出:
Free: 16795295744 Total: 145545281536 Available: 16795295744
此技术使您能够准确确定使用 Windows API 的任何指定驱动器的总大小。
以上是如何使用 Go 获取 Windows 驱动器的总大小?的详细内容。更多信息请关注PHP中文网其他相关文章!