使用 CoInitializeEx 分配 HRESULT 的问题
Issue with assigning HRESULT using CoInitializeEx
我正在尝试使用此处的 Microsoft 教程为 WMI 编程设置 COM 连接。我稍微修改了示例代码以适合我的风格。到目前为止我的代码如下:
#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++,所以我可能只是犯了一个愚蠢的错误。一些谷歌搜索让我想到了一个 SO 问题,该问题说类型没有定义,因为没有包含正确的 header,但是(如果我错了,请纠正我)我认为 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*
指出的内容。
我正在尝试使用此处的 Microsoft 教程为 WMI 编程设置 COM 连接。我稍微修改了示例代码以适合我的风格。到目前为止我的代码如下:
#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++,所以我可能只是犯了一个愚蠢的错误。一些谷歌搜索让我想到了一个 SO 问题,该问题说类型没有定义,因为没有包含正确的 header,但是(如果我错了,请纠正我)我认为 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*
指出的内容。