Alright I got it working now, thanks a lot for the help, that was fast!
Here is what I ended up with. Note that TCHAR and TSTR are substitutes for char and C string. If you can see any issue let me know.
if (GetWindowsDirectory(infoBuf, 32767))
TSTR maindir = drive.Substr(0,3);
BOOL bIsRetrieved = GetVolumeInformation(maindir,NULL,NULL,&dwVolSerial,NULL,NULL,NULL,NULL);
return new String(buf);