Why use FinalReleaseComObject instead of ReleaseComObject?
I know the basic difference as ReleaseComObject only decreases some counter by one and FinalReleaseComObject decreases it to zero. So what I usually hear is, call FinalReleaseComObject because then you are sure that the COM object is really released. But this makes me wonder, there is a point to this counter right? Aren't you breaking that mechanism if you always call FinalReleaseComObject . If that counter is not one before you call ReleaseComObject , is there not probably a reason for it? What could cause it to be higher than one when it should not be? Thanks in advance. PS: My COM