Abfragen der Gesamtgröße eines Laufwerks in Windows mit Go
Das Ermitteln der Gesamtgröße eines Laufwerks ist für verschiedene Anwendungen von entscheidender Bedeutung. In diesem Artikel wird gezeigt, wie diese Informationen mithilfe des Standard-Windows-API-Aufrufs in Go abgerufen werden.
Wie bereits erwähnt, kann die Funktion GetDiskFreeSpaceExW() von kernel32.dll verwendet werden. Es verwendet einen Verzeichnispfad als Eingabe und stellt drei Ausgabeparameter bereit:
Um diese Funktion zu nutzen, weisen Sie Variablen für die gewünschte Ausgabe zu:
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)), )
Beispielausgabe:
Free: 16795295744 Total: 145545281536 Available: 16795295744
Mit dieser Technik können Sie genau bestimmen die Gesamtgröße eines beliebigen angegebenen Laufwerks, das die Windows-API verwendet.
Das obige ist der detaillierte Inhalt vonWie erhalte ich mit Go die Gesamtgröße eines Windows-Laufwerks?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!