Модераторы: feodorv, GremlinProg, xvr, Fixin

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WaitForSingleObject в созданном потоке 
V
    Опции темы
xvr
Дата 25.3.2012, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(freezeman @  25.3.2012,  14:20 Найти цитируемый пост)
 Есть более не пипецное решение?)))

Ваш цикл почти полностью аналогичен for(;;) ; (Отличие в том, что он не жрет процессор на 100% и сбрасывает event). Но в том, что он блокирует выполнение потока и никакие event'ы его отсюда не выведут, он аналогичен полностью.

Цитата(freezeman @  25.3.2012,  15:10 Найти цитируемый пост)
Если я сделал все правильно, код ошибки 0x5 

Это ACCESS_DENIED. Проблема не в том, что у вас отдельный поток, а в том, что у вас сервис. Окружение сервиса отличается от окружения пользовательского приложения. Попробуйте запустить свой сервис под вашим account'ом (а не под local system) - если заработает, то ищите недостающие права

Добавлено через 3 минуты и 21 секунду
Цитата(freezeman @  25.3.2012,  15:43 Найти цитируемый пост)
Как вы говорите о параметре в CreateEvent, почему же в другом проекте все заработало?? 

В правах. NULL в первом параметре - это права по умолчанию, а это значит, что права есть только у администратора и создателя объекта (т.е. local system для сервиса). Простой смертный пользователь этот объект открыть не сможет

PM MAIL   Вверх
volatile
Дата 25.3.2012, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 13
Всего: 85



freezeman, гуглите про SECURITY_ATTRIBUTES

PM MAIL   Вверх
freezeman
Дата 25.3.2012, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 21.1.2011

Репутация: нет
Всего: нет



Цитата(xvr @ 25.3.2012,  15:46)
Цитата(freezeman @  25.3.2012,  14:20 Найти цитируемый пост)
 Есть более не пипецное решение?)))

Ваш цикл почти полностью аналогичен for(;;) ; (Отличие в том, что он не жрет процессор на 100% и сбрасывает event). Но в том, что он блокирует выполнение потока и никакие event'ы его отсюда не выведут, он аналогичен полностью.

Цитата(freezeman @  25.3.2012,  15:10 Найти цитируемый пост)
Если я сделал все правильно, код ошибки 0x5 

Это ACCESS_DENIED. Проблема не в том, что у вас отдельный поток, а в том, что у вас сервис. Окружение сервиса отличается от окружения пользовательского приложения. Попробуйте запустить свой сервис под вашим account'ом (а не под local system) - если заработает, то ищите недостающие права

Добавлено @ 15:49
Цитата(freezeman @  25.3.2012,  15:43 Найти цитируемый пост)
Как вы говорите о параметре в CreateEvent, почему же в другом проекте все заработало?? 

В правах. NULL в первом параметре - это права по умолчанию, а это значит, что права есть только у администратора и создателя объекта (т.е. local system для сервиса). Простой смертный пользователь этот объект открыть не сможет

Да что это такое с самого утра, с 10 утра я сидел и решал эту задачу!!!! Одного вашего сообщения хватило, все заработало!!! 
СПАСИБО БОЛЬШОЕ!!!


Это сообщение отредактировал(а) freezeman - 25.3.2012, 16:32
PM MAIL   Вверх
freezeman
Дата 25.3.2012, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 21.1.2011

Репутация: нет
Всего: нет



Цитата(volatile @ 25.3.2012,  15:52)
freezeman, гуглите про SECURITY_ATTRIBUTES

Нашел описание, уже завтра разберусь... СПАСИБО БОЛЬШОЕ!!!
PM MAIL   Вверх
freezeman
Дата 25.3.2012, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 21.1.2011

Репутация: нет
Всего: нет



Решил проблему с правами, добавив следующий SECURITY_ATTRIBUTES:
Код

    PSECURITY_DESCRIPTOR pSD; 
    SECURITY_ATTRIBUTES sa; 

    pSD = (PSECURITY_DESCRIPTOR) LocalAlloc(LPTR,
         SECURITY_DESCRIPTOR_MIN_LENGTH); 

    if (pSD == NULL)
      return 1; 

    if (!InitializeSecurityDescriptor(pSD, SECURITY_DESCRIPTOR_REVISION))
      return 1; 

    if (!SetSecurityDescriptorDacl(pSD, TRUE, (PACL) NULL, FALSE))
       return 1;

    sa.nLength = sizeof(sa); 
    sa.lpSecurityDescriptor = pSD;
    sa.bInheritHandle = TRUE; 



ЕЩЁ РАЗ ВСЕМ БОЛЬШОЕ СПАСИБО ЗА ПОМОЩЬ, C++ И WINAPI НАЧАЛ ТОЛЬКО ИЗУЧАТЬ (ЖИЗНЬ ЗАСТАВИЛА:), В .NET ПРИВЫК... 

Это сообщение отредактировал(а) freezeman - 25.3.2012, 20:21
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0752 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.