Как подключить и отключить сетевые диски
Советы »
Сеть » Как подключить и отключить сетевые диски
Для работы с сетевыми дисководами (и ресурсами типа LPT порта) в WIN API 16 и
WIN API 32 следующие функции:
Подключить сетевой ресурс:
WNetAddConnection(NetResourse, Password, LocalName: PChar): longint;
где
- NetResourse - имя сетевого ресурса (например 'P166c')
- Password - пароль на доступ к ресурсу (если нет пароля, то пустая строка)
- LocalName - имя, под которым сетевой ресурс будет отображен на данном
компьютере (например 'F:')
Пример подключения сетевого диска:
WNetAddConnection('P166C', '', 'F:');
Функция возвращает код ошибки. Для всех кодов предописаны константы, наиболее
часто используемые:
- NO_ERROR - Нет ошибок - успешное завершение
- ERROR_ACCESS_DENIED - Ошибка доступа
- ERROR_ALREADY_ASSIGNED - Уже подключен. Наиболее часто возникает при
повторном вызове данной функции с теми-же параметрами.
- ERROR_BAD_DEV_TYPE - Неверный тип устройства.
- ERROR_BAD_DEVICE - Неверное устройство указано в LocalName
- ERROR_BAD_NET_NAME - Неверный сетевой путь или сетевое имя
- ERROR_EXTENDED_ERROR - Некоторая ошибка сети (см. функцию WNetGetLastError
для подробностей)
- ERROR_INVALID_PASSWORD - Неверный пароль
- ERROR_NO_NETWORK - Нет сети
Отключить сетевой ресурс
WNetCancelConnection(LocalName: PChar; ForseMode: Boolean): Longint;
где
- LocalName - имя, под которым сетевой ресурс был подключен к данному
компьютеру (например 'F:')
- ForseMode - режим отключения :
- False - корректное отключение. Если отключаемый ресурс еще используется,
то отключения не произойдет (например, на сетевом диске открыт файл)
- True - скоростное некорректное отключение. Если ресурс используется,
отключение все равно произойдет и может привести к любым последствиям (от
отсутствия ошибок до глухого повисания)
Функция возвращает код ошибки. Для всех кодов предописаны константы, наиболее
часто используемые:
- NO_ERROR - Нет ошибок - успешное завершение
- ERROR_DEVICE_IN_USE - Ресурс используется
- ERROR_EXTENDED_ERROR - Некоторая ошибка сети (см. функцию WNetGetLastError
для подробностей)
- ERROR_NOT_CONNECTED - Указанное ус-во не является сетевым
- ERROR_OPEN_FILES - На отключаемом сетевом диске имеются открытые файлы и
параметр ForseMode=false
Рекомендация: при отключении следует сначала попробовать отключить ус-во с
параметром ForseMode=false и при ошибке типа ERROR_OPEN_FILES выдать запрос с
сообщением о том, что ус-во еще используется и предложением отключить
принудительно, и при согласии пользователя повторить вызов с ForseMode=true.
Другое по теме: