Форум: "Сети";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];
ВнизКопирование файла из сети Найти похожие ветки
← →
Helen (2006-10-18 09:43) [0]Доброго дня. Подскажите, пожалуйста, как проверить доступность расшаренного ресурса и скачать оттуда файл, не подключая шару как сетевой диск, т.е. не использую функцию WNetAddConnection2().
← →
Сергей М. © (2006-10-18 09:46) [1]См. CreateFile+ReadFile+WriteFile, CopyFile
← →
Helen (2006-10-18 09:59) [2]А как быть с доступностью. Да, ресурс расшарен не для всех пользователей, т.е. идти к нему надо с определенным логином и паролем
← →
Сергей М. © (2006-10-18 10:07) [3]
> как быть с доступностью
Ф-ции CreateFile и CopyFile вернут соотв.код отказа, если ресурс по тем или иным причинам не доступен
← →
Helen (2006-10-18 10:24) [4]А полробнее про коды не расскажите?
← →
Сергей М. © (2006-10-18 10:34) [5]Код отказа легко выяснить, попытавшись подключиться к заведомо недоступному ресурсу
if not CopyFile(...) then
Showmessage("Код причины отказа: " + IntToStr(GetLastError) + ", причина отказа: " + SysErrorMessage(GetLastError));
или
var
hFile: THandle;
..
hFile := CreateFile(...);
if hFile = 0 then
Showmessage("Код причины отказа: " + IntToStr(GetLastError) + ", причина отказа: " + SysErrorMessage(GetLastError));
← →
Helen (2006-10-18 10:47) [6]а как подключиться с определенным логином и паролем?
← →
Сергей М. © (2006-10-18 10:50) [7]А чем, собссно, WNetAddConnection2 не угодила ?
← →
Helen (2006-10-18 10:52) [8]кажется, что много времени уходит на подключение.
← →
Сергей М. © (2006-10-18 10:57) [9]значит, что-то не в порядке с сетевыми настройками
← →
Helen (2006-10-18 11:00) [10]Вы имеете в виду
NetResource.dwType:= RESOURCETYPE_DISK;
NetResource.lpLocalName:= nil;
NetResource.lpRemoteName:= Pchar("IPStation");
NetResource.lpProvider := "";
← →
Сергей М. © (2006-10-18 11:21) [11]Нет, я имею ввиду сетевые настройки ОС
← →
Чапаев © (2006-10-18 19:22) [12]> Showmessage("Код причины отказа: " + IntToStr(GetLastError)
> + ", причина отказа: " + SysErrorMessage(GetLastError))
> ;
А разве первый вызов GetLastError() не обнулит внутреннюю переменную, хранящую код ошибки?
> NetResource.lpRemoteName:= Pchar("IPStation");
Думаю, будет быстрей, если задать IP-адрес.
← →
Сергей М. © (2006-10-19 08:08) [13]
> Чапаев © (18.10.06 19:22) [12]
> разве первый вызов GetLastError() не обнулит внутреннюю
> переменную, хранящую код ошибки?
С какого перепугу ?
← →
Ketmar © (2006-10-19 08:15) [14]>[12] Чапаев(c) 18-Oct-2006, 19:22
>А разве первый вызов GetLastError() не обнулит внутреннюю
>переменную, хранящую код ошибки?
хм. я тоже так считал. перечитал справку: нет упоминаний о таком. предупреждают только, чтобы вызывали до других функций из системных DLL. и всё.
← →
Чапаев © (2006-10-19 09:39) [15]> С какого перепугу ?
Издержки паскалевского опыта с его IOResult и GraphResult... ;-)
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.063 c