MSDN имеет хороший пример изменения букв дисков по адресу:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa364014(v=vs.85).aspx
Единственная проблема в том, что она не работает в моей системе Windows 7.
Я запускаю EXE из окна DOS с правами администратора.
Я начинаю с флешки на E:
Я могу использовать пример MSDN для удаления E:
Но когда я затем использую пример MSDN, чтобы назначить F: тому же флэш-накопителю, первоначальный DefineDosDevice for F: завершается успешно, но последующий GetVolumeNameForVolumeMountPoint завершается неудачей, поэтому SetVolumeMountPoint завершается неудачей.
Я понимаю, что функция начального DefineDosDevice заключается в создании буквы диска, поэтому для GetVolumeNameForVolumeMountPoint есть что-то, к чему можно подключиться и, следовательно, вернуть имя тома, но GetVolumeNameForVolumeMountPoint ведет себя так, как если бы первоначальный DefineDosDevice не удался.
Whassup