Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие _ Проблемы при работе в потоке.

Автор: Mr.Woland 27.7.2011, 21:53

Есть поток, в функции run которого используется функционал http://disphelper.sourceforge.net/'а.
Данный функционал реализует запрос к 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: http://www.google.ru/search?client=opera&rls=ru&q=qt+runtime+error&sourceid=opera&ie=utf-8&oe=utf-8&channel=suggest#sclient=psy&hl=ru&newwindow=1&client=opera&rls=ru&channel=suggest&source=hp&q=+Error+Code:+++++800401e4&aq=f&aqi=&aql=&oq=&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=6ba3d2abaccd40a9&biw=1600&bih=769
Source: Application"

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

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)