- BSTR
BSTR bstrXML = NULL; //用完以后,或者 catch段中 if(bstrXML) ::SysFreeString(result); |
- VARIANT
VARIANT varFileName; //用完以后,或者 catch段中 VariantClear(&varFileName); |
- 支持Release的COM接口,例如:
IXMLDOMDocument *pXMLDom=NULL; IXMLDOMDocument *pXSLDoc=NULL; //用完以后,或者 catch段中 SAFE_RELEASE(pXSLDoc); SAFE_RELEASE(pXMLDom); |
同时需要在文件的上面定义SAFE_RELEASE宏:
#define SAFE_RELEASE(p) do { if ((p)) { (p)->Release(); (p) = NULL; } } while(0) |