2009-04-07 2 views
0

Есть ли какой-либо класс или API, доступный на C#, для получения доступных сетевых дисков или последнего доступного диска для сопоставления? Например, «Z:». Что-то вроде этого:Как получить доступный сетевой диск для сопоставления?

string mappeddrive = MappDriveUtil.GetLastAvailableMappedDrive(); // utility class 

Могу ли я просто сканировать локальные и сопоставленные диски, чтобы узнать? Как сканировать все локальные и сопоставленные диски, которые уже используются, если это способ узнать?

ответ

3

Это один из тех вопросов, на который нет отличного ответа. Вы, конечно же, можете использовать DriveInfo.GetDrives для перечисления всех доступных в настоящее время дисков. Из этого вы можете сделать вывод, какие диски не были отображены.

Проблема заключается в том, что вы можете только сообщить, какие диски были, которые не были отображены, не отображаются. В промежутке между вызовом GetDrives() и фактическим отображением диска вполне возможно, что какая-то другая программа появится и отобразит выбранный диск. Ваше решение должно учитывать эту возможность или оно будет страдать от проблем с надежностью в этой области.

+0

Это правда. Фактически, то, что я собираюсь сделать, - это размонтировать указанный диск перед его сопоставлением, вместо того, чтобы найти доступный. –

Смежные вопросы