Dein Puffer ist zu klein.
Effektiv sind ja in der Variablen "r" nur sizeof(DRIVE_LAYOUT_INFORMATION) Bytes vorhanden.
Behauptet wird aber, dass sizeof(DRIVE_LAYOUT_INFORMATION) + 15 * sizeof(PARTITION_INFORMATION) vorhanden wären.
Folge -> der Heap wird überschrieben ->
AV