COMライブラリで、COMインターフェイス上でAddrefを呼び出すことがCOMライブラリで標準的に行われているかどうかは、関数から返されているのでしょうか。例えば:MSXML get_documentElement()&COMインターフェイスへのポインタを返す
IXMLDOMElement* domElement = NULL;
document_->get_documentElement(&domElement); // does get_documentElement() call Addref on domElement?
// ...
// do something with domElement
// ..
domElement.Release(); // correct?
// (btw. member variable document_ is of type CComPtr<IXMLDOMDocument2>
またはスマートポインタで:ところで
CComPtr<IXMLDOMElement> domElement;
document_->get_documentElement(&domElement);
。 http://msdn.microsoft.com/en-us/library/ms751196(v=vs.85).aspx
しかし、何がそれについて言及されていない公式ドキュメントに: http://msdn.microsoft.com/en-us/library/ms759095(v=vs.85).aspx