BSTR和WCHAR*

实际上bstr很像delphi里面的string,平时只是指向pchar或pwchar,但是在pchar和pwchar的前面却有长度信息,以下是一段来自网络的解释:

BSTR并不是WCHAR*,BSTR存储的值是一个指向WCHAR数组的指针,但是在这个指针前面还有4个字节是指明这个字符串的长度。

所以,你可以将BSTR当作WCHAR*用,但是不能将WCHAR*当作BSTR用!

要使用(_bstr_t)进行类型转换,必须引用以下库:

#include <comutil.h> #pragma comment(lib,"comsuppw.lib") 或 comsuppwd.lib(d一般代表debug版本)

HRESULT hres = (*pSvc)->ExecQuery((_bstr_t)_T("WQL"), szQuery, WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, pEnumerator);

以下是MSDN链接:

https://msdn.microsoft.com/zh-cn/library/zthfhkd6.aspx

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券