请教MS专家和COM ATL高手,关于BSTR和内存泄漏
在使用BSTR时,如果用CMemoryState获取内存快照如下:
#ifdef _DEBUG
CMemoryState oldState,newState,diffState;
oldState.CheckPoint();
#endif
BSTR bstr1 = SysAllocString(OLECHAR("heap leak Test"));
//SysFreeString(bstr1);
#ifdef _DEBUG
newState.CheckPoint();
if(diffState.Difference(oleState,newState))
cout<<"leak"<<endl;
#endif
因为没有调用SysFreeString,应该是提示内存泄漏,但是不提示,(即使加了注释行也不对),有谁能给讲讲SysAllocString和SysFreeString的内部机制和检测内存泄漏的方法。