crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Проблемы при работе в потоке.
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Mr.Woland Дата 27.7.2011, 21:53
  Есть поток, в функции run которого используется функционал disphelper'а.
Данный функционал реализует запрос к WMI с целью мониторинга системных событий:
    try
    {
        const wchar_t*  Query=(const wchar_t *)this->TriggerRequest.utf16();
        dhCheck( dhGetObject(L"winmgmts:{impersonationLevel=impersonate,(Security)}!\\\\.\\root\\cimv2",NULL, &wmiSvc) );
        dhCheck( dhGetValue(L"%o", &wmiEventSrc, wmiSvc, L".ExecNotificationQuery(%S)",Query) );
        emit this->TriggerState(this->TriggerName,1);
        while (TRUE)
        {
            CDispPtr wmiLatestEvent;
            dhCheck( dhGetValue(L"%o", &wmiLatestEvent, wmiEventSrc, L".NextEvent") );
            emit this->Triggered(this->TriggerName,this->GenerateTriggerMsg(wmiLatestEvent),this->TriggerIcon);
            wmiLatestEvent.Dispose();
        }
    }
    catch (string errstr)
    {
        ErrorMSG=this->GenerateErrorMSG(QString::fromStdString(errstr));
        emit this->TriggerState(this->TriggerName,-1);
    }

проблема в следующем.
на строчке
dhCheck( dhGetObject(L"winmgmts:{impersonationLevel=impersonate,(Security)}!\\\\.\\root\\cimv2",NULL, &wmiSvc) );

происходит сбой с сообщением:
Цитата
Member:
Function: GetObject
Error In: GetObjectEx
Error: Neioaene?aneay ioeaea
Code: 800401e4
Source: Application"

Но ещё раньше программа вываливалась с сообщением о Runtime error'е.
А ещё раньше (и сейчас) в другом приложении данный код (в паре десятков потоков) работает прекрассно и без нареканий.
В чем проблема ?
Переменные среды, настройки про файлов (за исключением списка файлов) идентичны для рабочего и нерабочего приложения.
ЗЫ.
Помогите плиз.
2 дня сношусь....
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 12.12.2019, 4:08