Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Права доступа [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


Наверх

Титульная страница Поиск, карта сайта Написать письмо