请大佬帮忙,COM接口返回大字符串为空
通过下面接口返出字符串,数据量比较大,两万多字节。
StartFileScan([in] BSTR szFilePath, [out,retval] BSTR* pVal)
{
...
*pVal = m_strScanResult.AllocSysString(); //m_strScanResult是CString
}
在返回之间,VS调试查看内存,pVal存贮的是*pVal的地址、转到该地址存贮是字符串,没问题,但返回到调用模块后
CoInitializeEx(NULL,COINIT_MULTITHREADED);
BSTR pstr = pTest->m_Client->StartFileScan(pTest->m_ScanPath.GetString());
这里pstr地址与接口内*pVal是一致的,但并没有存字符串,不懂是什么原因呀,小字符串是没问题的,难道是和MTA套间有关?