Why is C++ WMI Not Fetching Data? Error: 0xC0000005

Why is C++ WMI Not Fetching Data? Error: 0xC0000005

我是 WMI 的新手,我正在遵循本指南 here

所以我将该代码粘贴到指南中,运行 使用提供的查询没有任何问题。但是当我将查询更改为 SELECT State FROM Win32_Service 时,我没有得到任何数据,只有错误代码 0xC0000005,我认为这是一个权限错误?

上面的相同查询在 PowerShell 中使用以下命令工作得很好:

Get-WmiObject -Query "select State from Win32_Service"

我试过的

那么是什么原因呢?为什么我在从我的 C++ 代码查询 WMI 时遇到问题?

编辑:我找到了导致崩溃的行。我不确定它为什么会崩溃。

wcout << vtProp.bstrVal << endl;

我错过了这行代码

hr = pclsObj->Get(L"State", 0, &vtProp, 0, 0);

将第一个参数更改为您要检索其值的 属性。