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*)¶m);
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内存对象
请问如何解决????
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*)¶m);
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内存对象
<?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>