Я пытаюсь использовать руководство Microsoft здесь, чтобы установить соединение COM для программирования WMI. Я немного изменил пример кода, чтобы он соответствовал моему стилю. Мой код пока выглядит следующим образом:
#include <iostream>
#include <Windows.h>
#include <WbemIdl.h>
#define _WIN32_DCOM
#pragma comment(lib, "wbemidl.lib")
HRESULT hRes;
hRes = CoInitializeEx(0, COINIT_MULTITHREADED);
if(FAILED(hRes))
{
std::cout << "COM initializtion failed." << std::endl;
}
Моя проблема появляется в задании по адресу:
hRes = CoInitializeEx(0, COINIT_MULTITHREADED);
Я вижу маленький красный волнистый, поэтому я проверяю это, и он говорит:
Я понятия не имею, в чем проблема: я давно не делал C ++, поэтому я мог бы просто совершить глупую ошибку. Некоторое Гугление привело меня к такому вопросу, который сказал, что тип не был определен, потому что правильный заголовок не был включен, но (пожалуйста исправьте меня, если я ошибаюсь в этом), я думал, что HRESULT
был определен в Windows.h
,
Кто-нибудь может увидеть проблему с этим кодом? Это консольное приложение Win32, и я использую Visual Studio 2015.
Ниже код должен идти внутри функции ..
HRESULT hRes;
hRes = CoInitializeEx(0, COINIT_MULTITHREADED);
if(FAILED(hRes))
{
std::cout << "COM initializtion failed." << std::endl;
}
Вы не можете написать код вне функции. Вы можете писать объявления, но не сам код, именно в этом и заключается ошибка *This declaration has no storage class or type specifier*
состояния.
Других решений пока нет …