0
点赞
收藏
分享

微信扫一扫

使用atlconv将BSTR字符串转换为CHAR*

蚁族的乐土 2022-07-27 阅读 46


李国帅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 UNICODE
USES_CONVERSION;
CHAR* pchDVRIP = T2A(m_pDevMng->GetDvrIP().GetString());
CHAR* pchUserName = T2A(m_pDevMng->GetDvrUserName());
CHAR* pchPassword = T2A(m_pDevMng->GetDvrPwd());
#else
CHAR* pchDVRIP = (LPTSTR)(LPCTSTR)m_pDevMng->GetDvrIP();;
CHAR* pchUserName = (LPTSTR)(LPCTSTR)m_pDevMng->GetDvrUserName();
CHAR* pchPassword = (LPTSTR)(LPCTSTR)m_pDevMng->GetDvrPwd();
#endif // UNICODE

举报

相关推荐

0 条评论