GetObject问题,请赐教。

shenzhiwanghz 2009-12-07 04:13:16
        
IWbemClassObject* pVMMSobj

hres = (fspace.pSvc)->ExecQuery(
bstr_t("WQL"),
bstr_t("SELECT * FROM Msvm_VirtualSystemManagementService"),
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
NULL,
&pEnumerator);
//出错处理

hres = pEnumerator->Next(WBEM_INFINITE, 1, &pVMMSobj, &uReturn);
//出错处理

取得pVMMSobj对象,


IWbemClassObject* pClass = NULL;
_bstr_t brClassName(L"Msvm_VirtualSystemManagementService");
hres = (fspace.pSvc)->GetObject(brClassName, 0, NULL, &pClass, NULL);
//出错处理

取得pClass对象,

请问这两个对象有何区别,上面的两种方法是一样的吗,还是完全不同的。
刚学习这些东西,对最基本的也不甚了解,请各位指教。多谢。
...全文
68 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
shenzhiwanghz 2009-12-08
  • 打赏
  • 举报
回复
自己再顶一下。
WaistCoat12 2009-12-08
  • 打赏
  • 举报
回复
我又仔细看了下帖子,2楼回复其实我只是看你代码自己认为是那样的,回复可能有问题,我再解释下我的理解:
1.是查询Msvm_VirtualSystemManagementService相关的对象,查询返回是一个枚举器,里面包含很多类对象,pEnumerator->Next(WBEM_INFINITE, 1, &pVMMSobj, &uReturn)是取第一个对象,第一个对象是Msvm_VirtualSystemManagementService,枚举器中只存在一个Msvm_VirtualSystemManagementService,因为查询语句是From Msvm_VirtualSystemManagementService。如果你继续Next则返回的不是Msvm_VirtualSystemManagementService类别的对象。

2.直接获取Msvm_VirtualSystemManagementService对象,fspace.pSvc里只存在一个Msvm_VirtualSystemManagementService对象。如果存在则返回,否则是NULL。

这只是本人的理解而已,没有具体测试过,希望不要误导楼主。

等高手来解释。
shenzhiwanghz 2009-12-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 waistcoat12 的回复:]
两者结果一样,但原理不同。
1.是一个查询语句,查询Msvm_VirtualSystemManagementService对象包含的所有对象,然后取第一个,第一个是自身。
2.直接获取Msvm_VirtualSystemManagementService对象。
[/Quote]
多谢2L,那意思是说这两个取出来的对象,执行相同的方法的时候,效果是完全一样的?
从第一个看起来,好像对象可以存在很多个,好像是在链表中。。。
那如果存在多个的时候,用GetObject能取到和上面一样的吗?

另外,自身是什么意思,是相对什么而言?
WaistCoat12 2009-12-07
  • 打赏
  • 举报
回复
两者结果一样,但原理不同。
1.是一个查询语句,查询Msvm_VirtualSystemManagementService对象包含的所有对象,然后取第一个,第一个是自身。
2.直接获取Msvm_VirtualSystemManagementService对象。
cicigl 2009-12-07
  • 打赏
  • 举报
回复
沙发,2L回答

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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