gpt4 book ai didi

c++ - 在 Visual C++ 中读取 WMI 中的 uint 数组属性

转载 作者:行者123 更新时间:2023-11-28 06:59:54 26 4
gpt4 key购买 nike

我无法从 WMI 对象读取 uint ARRAYS 属性。我可以从 WMI 对象读取和处理 STRING 属性。

这是我试过的:

VARIANT vtProp; 
hr = pclsObj->Get(L"VendorSpecific", 0, &vtProp, 0, 0);// Uint8

最佳答案

这就是您获取安全数组第一个元素的方式。

SAFEARRAY* safearray = vtProp.parray;
CComBSTR str;
LONG i = 0;
SafeArrayGetElement(safearray, &i, &str);

更新:更通用的解决方案:

SAFEARRAY* safearray = vtProp.parray;
VARTYPE vType;
SafeArrayGetVartype(safearray, &vType);
long bound = safearray ->rgsabound[0].cElements;
for(long i = 0; i < bound; ++i)
{
VARIANT value;
SafeArrayGetElement(safearray, &i, &value);

switch(vType)
{
case VT_BSTR:
// use value.bstrVal
break;
case VT_UI8:
// use value.ullVal
break;
}
}

关于c++ - 在 Visual C++ 中读取 WMI 中的 uint 数组属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22636639/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com