write后,内存一直增加,即便pDoc2释放了,也是一样,一直到进程退出才入释放
请问如何解决????
BOOL GetHtmlDocument(const CString& strHtml,CComQIPtr<IHTMLDocument2>& pDoc2)
{
SAFEARRAY* psa=NULL;
VARIANT *param=NULL;
BOOL bOK=FALSE;
_bstr_t  bsData;
HRESULT hr = pDoc2.CoCreateInstance(CLSID_HTMLDocument, NULL, CLSCTX_INPROC_SERVER);
if(FAILED(hr))
{
ASSERT(FALSE);
goto clearup;
}
if(pDoc2==NULL)
{
ASSERT(FALSE);
goto clearup;
}

psa = SafeArrayCreateVector(VT_VARIANT, 0, 1);
bsData= (LPCTSTR)strHtml;
hr = SafeArrayAccessData(psa, (LPVOID*)&param);
if(FAILED(hr))
{
goto clearup;
}
param->vt = VT_BSTR;
param->bstrVal = bsData;
/////////////////这里write后,内存一直增加.请问如何释放.....
hr = pDoc2->write(psa);
/////////////////////////////////////
if(FAILED(hr))
{
goto clearup;
}
hr = pDoc2->close();
if(FAILED(hr))
{
goto clearup;
}
bOK=TRUE;
clearup:
bsData.Detach();
if(psa!=NULL)
{
SafeArrayDestroy(psa);
}
return bOK;
}HTML内存对象

解决方案 »

  1.   

    调用SafeArrayAccessData结束后没有调用SafeArrayUnaccessData不能减少引用计数吧
      

  2.   


    <?xml version=1.0 encoding=UTF-8 standalone=yes?>
    <operation_request><msgheader version="1.0">
    <req_key>20110601140000</req_key>
    <req_time>20110601140000</req_time>
    <req_seq>21</req_seq>
    <auth_seq>20110601140000123</auth_seq>
    <mac>3D8633D90FAF576D</mac>
    <channelinfo>
    <authorid>5</authorid>
    <api_name>ApiAppAccountInfo</api_name>
    <api_name_func>readAccglist</api_name_func>
    </channelinfo></msgheader><msgbody>
    </msgbody></operation_request>