Releasing COM Objects

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.

Get Visual Basic 2015 Unleashed now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.