![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Права доступа [D6, NT4, Win2k, WinXP]
Mr.Devil © (2005-01-08 02:21:00)Как сделать семафор, созданный в одном процессе, доступным другому процессу?
Каким образом сформировать атрибуты защиты?
Mr.Devil (2005-01-08 02:59:00) [1]Великое тебе СПАСИБОЧКИ! Будем проверять как это работает, но похоже, что работать это будет.
GanibalLector (2005-01-08 02:52:00) [2]Погляди это :
http://gp.17slon.com/gp/files/gpsecurity.htm
Mr.Devil (2005-01-08 02:47:00) [3]Можно OpenSemaphore, а можно и CreateSemaphore это не важно, единственное отличие в том, что при CreateSemaphore параметры 2 и 3 игнорируются.
GanibalLector (2005-01-08 02:45:00) [4]Стоп.Ведь есть OpenSemaphore.Тогда сможешь.
Mr.Devil (2005-01-08 02:44:00) [5]
> Для семафора...из справки:
>
> If lpName matches the name of an existing event, mutex,
> or file-mapping object, the function fails and the GetLastError
> function returns ERROR_INVALID_HANDLE. This occurs because
> event, mutex, semaphore, and file-mapping objects share
> the same name space.
Если в другом процессе создать такой же объект, с таким же именем, то процесс получит указатель на тот же объект, но это работает только в Win9x, а в WinNT не катит, требуются права доступа.
GanibalLector (2005-01-08 02:42:00) [6]А какая разница?Все дело в том,что [2]!Ибо ты не сможешь создать еще один семафор с тем же именем.
Mr.Devil (2005-01-08 02:39:00) [7]Все дело в том что необходимо именно на семафоре.
Ктому жеg_hAppMutex:=CreateMutex(nil,false,PChar('AnUniqueString'+IntToStr(GetDesktopWindow)));не катит, т.к. права доступа устанавливаются по-умолчанию, а это значит, что доступ к этому объекту имеет только процесс, создавший этот объект, и процессы, запуенные с правами администратора.
GanibalLector (2005-01-08 02:34:00) [8]Для семафора...из справки:
If lpName matches the name of an existing event, mutex, or file-mapping object, the function fails and the GetLastError function returns ERROR_INVALID_HANDLE. This occurs because event, mutex, semaphore, and file-mapping objects share the same name space.
GanibalLector (2005-01-08 02:26:00) [9]Реализация на мутексе.Смотреть самый конец.
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988619824&n=15