2011-10-04 59 views
0

它已經年以來我已經做了C++更不用說ATL代碼ATL如何轉換BSTR * STR註冊表key.SetValue(LPCTSTR STR型

我有這種方法,需要手術幫助:(

這針對移動應用,所以我不希望使用的CString和MFC

我需要將BSTR * STR轉換爲正確的類型LPCTSTR使用註冊表Set.Value方法

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; 
} 
+2

爲什麼不用UNICODE編譯#defined? –

回答

2

COLE2T宏是隻爲你,看到String Conversion Classes and Macros

要轉換成BSTR,現有的字符串傳遞給 的CComBSTR的構造。要從BSTR轉換,請使用COLE2 [C] DestinationType [EX], ,如COLE2T。