CoInitializeEx在64位模式下引发访问冲突

时间:2019-07-24 12:58:23

标签: c++ winapi com wmi 32bit-64bit

我正在创建一个C ++库,该库需要使用wmi来获取有关系统的一些信息。当我打电话

hres = CoInitializeEx(NULL, COINIT_MULTITHREADED);

它引发访问冲突异常(在位置0x8处读取)。 但是,它只能在64位模式下执行此操作,而在32位模式下可以正常运行。

c ++项目是使用Visual Studio 2019创建的默认项目,除了将``配置类型''设置为``静态库''之外没有任何修改。

任何线索可能是什么问题?

我尝试使用其他Windows SDK版本(Windows 10,Windows 8、17663) 尝试将指针传递给已分配的内存(1024位)->没有异常,但是由于参数无效,调用失败,第一个参数必须为'NULL')

// Step 1: --------------------------------------------------
// Initialize COM. ------------------------------------------


HRESULT hres = CoInitializeEx(NULL, COINIT_MULTITHREADED); //It throws here
if (FAILED(hres)){}

0 个答案:

没有答案
相关问题