![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
И снова про копирование файлов, правда теперь по сетке. [D6, Win2k]
Толик © (2002-05-07 14:19:00)Уважаемые мастера. Проблема в следующем:
исходный файл имеет путь, типа
const
Source: pchar = "\\server\host$\folder\file.exe",с доступом только для пользователей ADMIN, для доступа к этому пользователем USER файлу используется:
hSource := CreateFile(Source, GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
в результате чего получается
hSource = INVALID_HANDLE_VALUE.
Подскажите пожалуйста, как обойти эту проблему без перелогинивания или подмапливания диска. Возможно ли такое вообще?
Reindeer Moss Eater (2002-05-07 16:46:00) [1]Хочется файл, лежащий на админском ресурсе, но не хочется отдавать права на него.
Ну тогда отдавай юзеру этот файл не используя "клиента для сетей Майкрософт"
Толик (2002-05-07 16:40:00) [2]to Reindeer Moss Eater:
Не хотелось бы, чтобы пользователь USER имел доступ к ресурсу ADMIN"а даже на время копирования файлов. Никак иначе?
to panov ©:
как и ожидалось fHandle = -1
Вопрос скорее всего в использовании дескрипторов безопасности. Кто-нибудь с этими зверями работал?
Reindeer Moss Eater (2002-05-07 15:21:00) [3]> panov ©
Если логон на ресурс уже был, этот код сработает, иначе надо делать логон
panov (2002-05-07 15:15:00) [4]var
fHandle: Integer;
fName: String;
begin
fName := "\\Panov\i\out.log";
fHandle := FileOpen(fName,fmOpenRead);
if fHandle = -1 then ShowMessage("Error")
else
begin
ShowMessage("Ok");
FileClose(fHandle);
end;
Reindeer Moss Eater (2002-05-07 15:14:00) [5]WnetAddConnection(PChar(RemoteName),PChar(Password),nil);
Толик (2002-05-07 14:57:00) [6]Да, пароль известен, но подмаппивать диск не хотелось бы. А есть какие-нибудь варианты без подмаппивания диска?
Song (2002-05-07 14:33:00) [7]Надо программно расшаривать диск. Пароль известен программе?