使用atlconv将BSTR字符串转换为CHAR*
来源:互联网 发布:excel单元格数据分行 编辑:程序博客网 时间:2024/06/06 08:39
李国帅2013年编
对于编写的com控件,可能使用在浏览器或者被其他语言调用,传递的是bstr字符串,com中使用的话需要转换为char*进行操作。
#include <comutil.h>#pragma comment(lib, "comsupp.lib")#pragma comment(lib, "comsuppw.lib")STDMETHODIMP CDhPlayer::TakeSnapshot(BSTR FileName, LONG* pResult){ *pResult = 0; _bstr_t bstrVal = (_bstr_t)FileName; *pResult = m_pDevMng->SnapshotBitmap((TCHAR*)bstrVal); return S_OK;}#include <atlstr.h>#include <atlconv.h>using namespace ATL;#ifdef UNICODEUSES_CONVERSION;CHAR* pchDVRIP = T2A(m_pDevMng->GetDvrIP().GetString());CHAR* pchUserName = T2A(m_pDevMng->GetDvrUserName());CHAR* pchPassword = T2A(m_pDevMng->GetDvrPwd());#elseCHAR* pchDVRIP = (LPTSTR)(LPCTSTR)m_pDevMng->GetDvrIP();;CHAR* pchUserName = (LPTSTR)(LPCTSTR)m_pDevMng->GetDvrUserName();CHAR* pchPassword = (LPTSTR)(LPCTSTR)m_pDevMng->GetDvrPwd();#endif // UNICODE
阅读全文