public static void Close() { foreach (KeyValuePair <ulong, CPProcTracer> tracer in procTracers) { int nRef = System.Runtime.InteropServices.Marshal.ReleaseComObject(tracer.Value); } procTracers.Clear(); if (tracersFactory != null) { int nRef = System.Runtime.InteropServices.Marshal.ReleaseComObject(tracersFactory); tracersFactory = null; } GC.Collect(); }
public static bool Open() { if (tracersFactory == null) { Type test_srv_type = Type.GetTypeFromCLSID(test_srv_CLSID, true); Object obj = null; Guid IUnknownGuid = new Guid("00000000-0000-0000-C000-000000000046"); obj = Activator.CreateInstance(test_srv_type); if (obj == null) { return(false); } tracersFactory = obj as ICPTracerFactory; if (tracersFactory == null) { return(false); } } return(true); }