2个COM间接口函数调用为什么BSTR类型的参数会无故释放呢?

oyxiaoyu0 2004-02-12 03:45:35
我有2个COM,其中一个COM在调用另外一个COM接口函数的过程中传递一个BSTR变量到那个COM中就什么都没有了呢~~
COM1中有
TCHAR FileName[200];
BSTR tmp;
tmp = A2W(FileName);
ptr->DY_StartPlayFile(8,tmp,0L);

COM2中对DY_StartPlayFile(8,tmp,0L)函数实现如下
STDMETHODIMP CCallCardFunc::DY_StartPlayFile(WORD wChnlNo, BSTR FileName, DWORD StartPos)
{
USES_CONVERSION;
TCHAR *pFileName;
//实际上FileName什么都没有,接受不到任何东西
pFileName = W2A(FileName);
if (StartPlayFile(wChnlNo, pFileName, StartPos))
return S_OK;
else
return S_FALSE;
}
...全文
36 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧