July 2015
Intermediate to advanced
1300 pages
87h 27m
English
You should always explicitly release objects that wrap COM components so that the associated resources are also released. You accomplish this by invoking the System.Runtime.InteropServices.Marshal.ReleaseCOMObject method. It is worth noting that calling this method does not explicitly free all resources but decreases the reference count on the COM object, and when the count hits 0, the resources are freed. Continuing with the previous example, you release the AxAcroPDF1 object as follows:
System.Runtime.InteropServices.Marshal.ReleaseComObject(AxAcroPDF1)
This is important because COM objects treat system resources differently from .NET objects; therefore, an explicit release is required.