Go を使用した Windows でのドライブの合計サイズのクエリ
ドライブの合計サイズの取得は、さまざまなアプリケーションにとって重要です。この記事では、Go の標準 Windows API 呼び出しを使用してこの情報を取得する方法を説明します。
前述したように、kernel32.dll の GetDiskFreeSpaceExW() 関数を使用できます。ディレクトリ パスを入力として受け取り、次の 3 つの出力パラメータを提供します。
この関数を利用するには、目的の出力に変数を割り当てます:
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 中国語 Web サイトの他の関連記事を参照してください。