Bekommen insgesamt die Größe einer Festplatte, die in c++ windows
Ich versuche Gesamtgröße einer physikalischen Festplatte (nicht zugeordnet + primäre Partitionen + erweiterte Partitionen in der Größe).
Habe ich disk-name als \\.\PhysicalDriveX
Versuchte ich mit GetDiskFreeSpaceEx
aber es nicht geben richtige Ergebnis, wenn die partition ist eine erweiterte partition, in diesem Fall gibt die gesamte Größe der partition.
BOOL ret = FALSE;
ULARGE_INTEGER ulFreeSpace;
ULARGE_INTEGER ulTotalSpace;
ULARGE_INTEGER ulTotalFreeSpace;
__int64 ulTotalUsedSpace = 0;
GetDiskFreeSpaceEx(szBuffer, &ulFreeSpace, &ulTotalSpace, &ulTotalFreeSpace);
*diskSize = ulTotalSpace.QuadPart;
Bekomme ich die partition, Informationen, und verwenden Sie DeviceIoControl mit IOCTL_DISK_GET_DRIVE_LAYOUT_EX
aber ich bin immer verwirrt über erweiterte partition Größe.
Gibt es eine Möglichkeit, dass ich genau bekommen, Gesamtgröße der Festplatte in C++ unter windows ??
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da Sie sprechen über den physischen Datenträger und die Partitionen nicht, werfen Sie einen Blick auf DeviceIoControl.
Beispiel von dort, die auch die Berechnung der Gesamt-disk-Größe in
wmain
:DeviceIoControl
arbeitet mit Festplatten, die direkt anstatt Partitionen, wenn Sie wollen, dass die partitions-Informationen, das ist ein Kandidat für eine andere Frage 🙂