Как подключить и отключить сетевые диски

Советы » Сеть » Как подключить и отключить сетевые диски

Для работы с сетевыми дисководами (и ресурсами типа LPT порта) в WIN API 16 и WIN API 32 следующие функции:

Подключить сетевой ресурс:

WNetAddConnection(NetResourse, Password, LocalName: PChar): longint;

где

  1. NetResourse - имя сетевого ресурса (например 'P166c')
  2. Password - пароль на доступ к ресурсу (если нет пароля, то пустая строка)
  3. 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; 

где

  1. LocalName - имя, под которым сетевой ресурс был подключен к данному компьютеру (например 'F:')
  2. 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.

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com