通過下面介面返出字串,資料量比較大,兩萬多位元組。
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套間有關?
uj5u.com熱心網友回復:
兩萬多位元組 20k 左右 不算大uj5u.com熱心網友回復:
不是通過 StartFileScan 的引數回傳的嗎,怎么又成了回傳值了。uj5u.com熱心網友回復:
看下回傳值,也許方法回傳了其他錯誤。轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/16971.html
上一篇:有沒有大佬會影像壓縮解壓的
下一篇:朋友們好,有個C++寫TCP服務器,之前客戶端都是PC或者手機客戶端通過TCP連接進行各種握手互動,現在客戶端是WEB,請問有什么好的方法?
