我已经很多年没有写过c++了,更不用说ATL代码了
我有这个方法,需要手术帮助:(
这是一个移动应用程序,所以我不想使用CString和MFC
我需要将BSTR* str转换为正确类型的LPCTSTR,以便在注册表集中使用。值方法
STDMETHODIMP CAXSampleCtl::SendMSG(BSTR* str)
{
CRegKey key;
key.Create(HKEY_LOCAL_MACHINE, _T("MyKeyName"));
key.SetValue( str <<<--- nope, _T("MyValueName"));
key.Flush();
key.Close();
return S_OK;
}
COLE2T
宏就是为你准备的,参见字符串转换类和宏
要转换为BSTR,将现有字符串传递给的构造函数CComBSTR。从BSTR转换,使用COLE2[C]DestinationType[EX],如COLE2T。