实际上bstr很像delphi里面的string,平时只是指向pchar或pwchar,可是在pchar和pwchar的前面却有长度信息,如下是一段来自网络的解释:数组
BSTR并非WCHAR*,BSTR存储的值是一个指向WCHAR数组的指针,可是在这个指针前面还有4个字节是指明这个字符串的长度。网络
因此,你能够将BSTR看成WCHAR*用,可是不能将WCHAR*看成BSTR用!spa
要使用(_bstr_t)进行类型转换,必须引用如下库:debug
#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连接:string
https://msdn.microsoft.com/zh-cn/library/zthfhkd6.aspx引用