hi,请教WMI取数据时我想取出一整个类,而不是里面的那个成员,如何做呢?

downmooner 2010-06-23 03:03:04
我所找到的代码大多是这样,

hres = pSvc->ExecQuery(

bstr_t(L"WQL"),

bstr_t(L"Select * from Win32_UserAccount"),

WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,

NULL,

&pEnumerator);
//省略

IWbemClassObject *pclsObj;

ULONG uReturn = 0;



while (pEnumerator)

{

HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,

&pclsObj, &uReturn);



if(0 == uReturn)

{

break;

}



VARIANT vtProp;



// Get the value of the Name property

//这里get只能get 1个。

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

wcout << " OS Name : " << vtProp.bstrVal << endl;



VariantClear(&vtProp);

}


而我想得到整个类,请问怎么做呢?
class Win32_UserAccount : Win32_Account
{
uint32 AccountType;
string Caption;
string Description;
boolean Disabled;
string Domain;
string FullName;
datetime InstallDate;
boolean LocalAccount;
boolean Lockout;
string Name;
boolean PasswordChangeable;
boolean PasswordExpires;
boolean PasswordRequired;
string SID;
uint8 SIDType;
string Status;
};
...全文
84 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyljerry 2010-06-25
  • 打赏
  • 举报
回复
都已经知道Win32_UserAccount这个结构体了,那就根据名字一个个对应取出来好了.然后存入结构体
stonewater 2010-06-23
  • 打赏
  • 举报
回复
除非你自己封装下,不然只能这样
King030609 2010-06-23
  • 打赏
  • 举报
回复
Jimmy_Xia 2010-06-23
  • 打赏
  • 举报
回复
COM一般只能一个属性一个属性取值,除非你自己做的类。
downmooner 2010-06-23
  • 打赏
  • 举报
回复
知道了。。而且很暴力。

pclsObj->getobjecttext就可以。。一下出来N行。我还以为会是数据库一样有个结构
LuciferStar 2010-06-23
  • 打赏
  • 举报
回复
似乎没有别的好办法,用get获取全部,给类赋值吧。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧