1: use GetLogicalDrives and change the for loop that runs through the drive letters.
for example:
bitmask=0x0003;
driveletter='C';
drivesavailable=GetLogicalDrives();
for (;

{
if (drivesavailable & bitmask){
...
}
driveletter++;
if (driveletter=='Z') break;
bitmask=bitmask<<1;
}
is anyone interested in the cluster size?
GetVolumeInformation(dir,volume_name,255,....
But technically it looks ok. It should compile using ms visual C 6 (or 7).