-#elif defined(__WIN32__)
- wxChar driveBuffer[256];
- size_t n = (size_t) GetLogicalDriveStrings(255, driveBuffer);
- size_t i = 0;
- while (i < n)
- {
- wxString path, name;
- path.Printf(wxT("%c:\\"), driveBuffer[i]);
- name.Printf(wxT("%c:"), driveBuffer[i]);
-
-#if !defined(__WXWINCE__)
- wxChar pname[52];
- if (GetVolumeInformation( path.c_str(), pname, 52, NULL, NULL, NULL, NULL, 0 ))
- {
- name.Printf(wxT("%s %s"), (const wxChar*) name, pname );
- }
-#endif
+#elif defined(__WIN32__) && wxUSE_FSVOLUME
+ // TODO: this code (using wxFSVolumeBase) should be used for all platforms
+ // but unfortunately wxFSVolumeBase is not implemented everywhere
+ const wxArrayString as = wxFSVolumeBase::GetVolumes();