basically each bit in the 32 bit return value is set to 1 if a drive exists, and each bit position corresponds to a drive letter
all you have to do is, test the bit position corresponding to the drive letter to determine if it exists.
In C you could use a bitfield and let the compiler handle all the tests for you. either otherwise its simply doing an and with a 1<<bit_number where the first is drive A.
Code:
val = GetLogicalDrives( );
for(i=0;i<26;i++) {
printf("drive %c: is %s\n", i+'A',ret&(1<<i)?"Available" : "Not Available");
}
thatd list if the drive is available or not (barring typos)