李国帅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