VC中使用DLL中提供的函数遇到有关问题

求助:VC中使用DLL中提供的函数遇到问题!

  我要从一个DLL文件中调用一个函数,这个函数的功能是向一个设备发送命令,然后设备收到命令后再给出回应,函数的原型是int SendCommand(string command)。这个DLL文件可能是用VB编写的。
  如果用VB来编写,int iReturn = SendCommand("#IDN?" & " " & vbLf),命令要求以#开始,然后设备根据换行符vbLf来判断命令是否结束,这样发过去后设备能够给出正确的响应。
  但我们要求是用VC来编写,我最开始是这样写的,
  string str("#IDN? \n");int iReturn = SendCommand(str);
  发过去后,解调仪不能给出正确的响应,后来发现可能是因为VB中的string是unicode的,而VC的unicode是MBCS的,然后就采用wstring又试了一次,结果还是不对
  wstring str(L"#IDN? \n");int iReturn = SendCommand(str);
  然后也试了用CString字符串来发送命令,还是不行,我把我力所能及的办法都试了一遍还是不行。。这几天因为这个都要崩溃了,恳请各位大牛帮忙看看到底是哪儿出了问题!真的谢谢了!

------解决方案--------------------
VB的字符串格式是BSTR,查一下SysAllocString,了解下相关知识
------解决方案--------------------
把CString转换为BSTR传进去
------解决方案--------------------
探讨
怎么转换啊??我不会。。我很菜。。

引用:
把CString转换为BSTR传进去

------解决方案--------------------
最好到函数内部看看,两边的str内容是否是一样的。
如果string没办法成功,直接写二进制呢?
------解决方案--------------------
CString转换为BSTR传进去
CString str;
(BSTR)(LPCTSTR)str;