Форум программистов, компьютерный форум, киберфорум
Наши страницы

Код не работает как метод... - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не получается решить задачу http://www.cyberforum.ru/cpp-beginners/thread349296.html
Поле first — вещественное число, левая граница диапазона; поле second — вещественное число, правая граница диапазона. Реализовать метод rangecheck() — проверку заданного чис-ла на принадлежность...
C++ Как правильно открыть файл и считать из него строку? Прювет! подскажите пажалста, как правильно открыть и считать строку из файла. весь функционал по обработке уже написал, а тут застрял как внебрачный ребенок буратино >_< std::ifstream... http://www.cyberforum.ru/cpp-beginners/thread349276.html
C++ Вывести сообщение о том, что все элементы в массиве равны
Здравствуйте... суть проблемы состоит в том, что я не знаю, как вывести сообщение о том, что все элементы массива равны между собой. Задача заключается в том, чтобы найти сумму элементов до...
C++ __declspec(property) и с чем его едят
Что это такое и как это использовать? У меня задание в лабораторной по обычному с++, но вот такая штука имеет место быть. Насколько я понял это какие-то свойства, прикрученные ms но как они...
C++ Оставить в списке только первые вхождения одинаковых элементов http://www.cyberforum.ru/cpp-beginners/thread349242.html
В составе программы описать функцию, которая оставляет в списке только первые вхождения одинаковых элементов. Добавлено через 10 минут куку ))))
C++ описать функцию, которая заменяет все вхождения элемента В составе программы описать функцию, которая заменяет в списке все вхождения элемента E1, значение которого введено с клавиатуры, на эле-мент E2, значение которого также введено с клавиатуры. подробнее

Показать сообщение отдельно
Чистый
Автор FAQ
2708 / 1404 / 73
Регистрация: 08.09.2011
Сообщений: 3,733
Записей в блоге: 1
08.09.2011, 13:27  [ТС]
так наверно надо все предоставить а не чистый код метода! И так есть файлы
infohard.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef INFOHARD_H
#define INFOHARD_H
 
#include <QObject>
#include <QString>
#include <QMainWindow>
#include <QMessageBox>
#include <QDebug>
//#include <iostream>
    #ifdef Q_OS_WIN32
        #pragma once
        #define _WIN32_DCOM
        #include <wbemidl.h>
        #include <comdef.h>
        #include <conio.h>
        #pragma comment(lib, "wbemuuid.lib")
    #endif
using namespace std;
 
class InfoHard : public QObject
{
    Q_OBJECT
public:
    explicit InfoHard(QObject *parent = 0);
public slots:
    int sl_GetInfo();
};
#endif // INFOHARD_H
есть файл infohard.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include "infohard.h"
 
InfoHard::InfoHard(QObject *parent) : QObject(parent)
{
 
}
int InfoHard::sl_GetInfo()
{
 
    CoInitialize(NULL);
 
 
    if(CoInitializeSecurity( NULL, -1, NULL, NULL, RPC_C_AUTHN_LEVEL_PKT, RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE, 0) != S_OK)
    {
        qDebug() << "Error: CoInitialize";
        return 1;
    }
    IWbemLocator * pIWbemLocator = NULL;
    IWbemServices * pWbemServices = NULL;
    IEnumWbemClassObject * pEnumObject  = NULL;
 
    BSTR bstrNamespace = (L"root\\cimv2");
 
    if(CoCreateInstance (CLSID_WbemAdministrativeLocator, NULL , CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER , IID_IUnknown ,( void ** ) & pIWbemLocator ) != S_OK)
    {return 1;}
    if(pIWbemLocator->ConnectServer(
            bstrNamespace,  // Namespace
            NULL,          // Userid
            NULL,           // PW
            NULL,           // Locale
            0,              // flags
            NULL,           // Authority
            NULL,           // Context
            &pWbemServices
            ) != S_OK)
    {
        qDebug() << "Error: ConnectServer";
        return 1;}
 
    HRESULT hRes;
    BSTR strQuery = (L"Select * from win32_diskdrive");
    BSTR strQL = (L"WQL");
    hRes = pWbemServices->ExecQuery(strQL, strQuery,WBEM_FLAG_RETURN_IMMEDIATELY,NULL,&pEnumObject);
    IWbemClassObject * pClassObject = NULL;
    VARIANT v;
  
    int k=0;
    if(hRes != S_OK)
    {
      qDebug() <<"Could not execute Query";
      return 1;
    }
    else
    {
      ULONG uCount = 1, uReturned;
      hRes = pEnumObject->Reset();
 
      if(hRes != S_OK)
      {
         qDebug() <<"Could not Enumerate";
         return 1;
      }
      while (pEnumObject)
      {
          hRes = pEnumObject->Next(WBEM_INFINITE,uCount, &pClassObject, &uReturned);
          if(uReturned==0)
          {
              qDebug() << "End";
             return 1 ;
          }
          BSTR strClassProp = SysAllocString(L"Size");
          hRes = pClassObject->Get(strClassProp, 0, &v, 0, 0);
          if(hRes != S_OK)
          {
             qDebug() << "Could not Get Value";
             return 1;
          }
 
          SysFreeString(strClassProp);
          _bstr_t bstrPath = &v;  //Just to convert BSTR to ANSI
          char* strPath=(char*)bstrPath;
          if (SUCCEEDED(hRes))
          {
             qDebug() << strPath << endl;
        
          }
          else qDebug() << "Error in getting object";
       }
    }
    VariantClear( &v );
    pIWbemLocator->Release();
    pWbemServices->Release();
    pEnumObject->Release();
    pClassObject->Release();
    CoUninitialize();
  return 0;
}
и есть файл Stuff.cpp из которого я вызываю метот вот таким способом (тут чистое Qt)
C++
1
2
inf = new InfoHard;
connect(ui->cmdSaveSettings, SIGNAL(clicked()), inf, SLOT(sl_GetInfo()));
вот это все что касается данного кода...

Добавлено через 36 секунд
Цитата Сообщение от Deviaphan Посмотреть сообщение
RPC_E_TOO_LATE - CoInitializeSecurity has already been called.
Т.е. вызвана уже функция эта была.
не могу представить себе где функция может быть вызвана?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru