DefineDosDevice GetVolumeNameForVolumeMountPoint - PullRequest
0 голосов
/ 17 февраля 2012

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

1 Ответ

0 голосов
/ 22 февраля 2012

Проблема заключалась во втором аргументе в ChangeLetter.exe при определении нового диска.Вы должны включить номер раздела.Предположим, что USB-накопитель установлен на E: и вы хотите переместить его на F :.Вы должны сделать следующее:

ChangeLetter -r E: ChangeLetter F: \ device \ harddisk1 \ partition1

Жесткий диск считает от нуля.Разделение считается от одного.

...