用COM API 读取Active Directory上的BSTR 为"administrator",
在用_wcsicmp(bstrValue, L"administrator")返回值!=0 (bstrValue是BSTR类型的)
求助,用什么API可以将bstrValue转换成wchat_t*
可以比较的,关键是你的bstrValue是不是有问题?
测试代码:
#include <comutil.h>
#include <iostream>
int main()
{
BSTR bstrValue = ::SysAllocString(L"administrator");
int retValue = _wcsicmp(bstrValue, L"administrator");
if (0 == retValue)
{
std::cout << "string bstrValue identical to string administrator" << std::endl;
}
::SysFreeString(bstrValue);
bstrValue = NULL;
return 0;
}
可以用ATL的OLE2W将BSTR转换成wchar_t