Windows의 Go에서 드라이브의 전체 크기 계산
Windows의 Go에서 특정 드라이브의 전체 크기를 얻으려면 사용되는 표준 Windows API 호출은 kernel32.dll의 GetDiskFreeSpaceExW()입니다. 이 함수는 디스크의 총 바이트 수 및 총 여유 바이트 수와 함께 호출자가 사용할 수 있는 여유 공간을 검색합니다.
필요한 각 정보에 대한 포인터를 제공함으로써 GetDiskFreeSpaceExW() 함수는 드라이브의 전체 크기를 검색하는 데 활용할 수 있습니다.
다음은 사용법을 보여주는 예제 코드입니다.
import ( "syscall" "unsafe" "fmt" ) func main() { kernelDLL, _ := syscall.LoadDLL("kernel32.dll") GetDiskFreeSpaceExW, _ := kernelDLL.FindProc("GetDiskFreeSpaceExW") var free int64 var total int64 var 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)), ) fmt.Println(r1, r2, lastErr) fmt.Println("Free:", free, "Total:", total, "Available:", avail) }
위 코드를 실행하면 다음과 유사한 출력이 생성됩니다.
1 0 Success. Free: 16795295744 Total: 145545281536 Available: 16795295744
위 내용은 Go를 사용하여 Windows 드라이브의 전체 크기를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!