Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 7

Наследование дескриптора семафора другими процессами

21.04.2012, 15:00. Показов 1525. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, проблема в следующем: пишу приложение, которое использует семафоры. Мне нужно, чтобы дескриптор семафора мог наследоваться другими процессами, т.е если я 1 раз создал семафор в программе и не убил его, то при открытии другой копии этой программы она могла получить доступ к уже созданному семафору.
C
1
2
3
4
5
6
HANDLE WINAPI CreateSemaphore(
  __in_opt  LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
  __in      LONG lInitialCount,
  __in      LONG lMaximumCount,
  __in_opt  LPCTSTR lpName
);
Не знаю как в атрибутах задать наследование дескритора из структуры _SECURITY_ATTRIBUTES

C
1
2
3
4
5
typedef struct _SECURITY_ATTRIBUTES {
  DWORD  nLength;
  LPVOID lpSecurityDescriptor;
  BOOL   bInheritHandle;
} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
Перерыл мсдн, но проблема не решилась.. Заранее спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.04.2012, 15:00
Ответы с готовыми решениями:

Синхронизация с другими процессами Win32
Есть DLL под Win32, обслуживающая аппаратное устройство и её описание. Она поддерживает десятка полтора функций, позволяющих работать с...

Программа управляющая другими программами и процессами?
У меня такая проблема: мне нужно чтобы каждый день, автоматически закрывался мозилла и запускался мозбекап, делал этот самый бекап, потом...

Связать программу с другими процессами на компьютере
Всем доброго времени суток, делаю подобную программу впервые. Это некая программа напоминалка которую нельзя закрыть пока какое-то действие...

3
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
21.04.2012, 15:48
Clwn, а в чем проблема? вы хотите чтобы семафором могли пользоваться только ваши приложения?
если не заострять внимание на паранойе - то просто создаете именованный семафор
0
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 7
21.04.2012, 15:57  [ТС]
проблема в том, что если просто создать семафор
C
1
CreateSemaphore(NULL, 1, 127, "BlockForReading")
то при открытии другой копии приложения эта копия не видит дескриптор уже существующего семафора.

как я понял именно в
C
1
BOOL   bInheritHandle;
лежит решение, т.к значение TRUE позволяет использовать дескритор другим процессам.
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
21.04.2012, 16:15
Clwn, зачем вам такой же дескриптор (в смысле значения)? именованный семафор можно открыть по его имени (OpenSemaphore)
в этом случае две копии программы будут работать с одним и тем же семафором

хотя в OpenSemaphore есть какието параметры, смысл которых мне сразу так в голову не приходит - можно рихтера посмотреть
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.04.2012, 16:15
Помогаю со студенческими работами здесь

нужно чтобы программа работала одновременно с другими процессами
В общем пишу программу - что-то вроде finder(Mac OS X) для windows... и вот, столкнулся с проблемой, по нажатию на меню, windows...

В чем различия дескриптора,полученного из WinAPI функций и дескриптора, полученного из свойства Handle в классе Process?
Можно ли использовать дескриптор окна,полученный с помощью свойства Handle в классе Process для того что бы ,например, записать значение по...

Создание семафора
Запускаю код на одной машине все работает, на другой выдает ошибку "Error: can't init semaphore." Ошибка возникает при открытии...

Освобождение семафора
Проблема такая. По заданию нужно сделать 2 приложения. Одно создаёт события и реагирует на то, что экземпляр другой проги его активирует....

Превишен таймаут семафора
Всем привет! Quad 6600,Nvidia 680 i SLi,Жесткий диск WDC WD15 1.5 терабайт,разбит на 3 раздела! При копировании с одного раздела на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru