public static void TrackCOMObject(object comObject, Type type) { if (comObject == null || !Marshal.IsComObject(comObject)) { if (trace) { Trace("Will not be tracked: {0}", type.Name); } } else { TrackedObjectMetaData metaData; if (trackedCOMObjects.TryGetValue(comObject, out metaData)) { metaData.RefCount += 1; } else { metaData = new TrackedObjectMetaData(type, 1); trackedCOMObjects.Add(comObject, metaData); } if (trace) { Trace("AddRef {0,2}: {1}", metaData.RefCount, type.Name); } } }
public static void TrackCOMObject(object comObject, Type type) { if (comObject == null || !Marshal.IsComObject(comObject)) { if (trace) Trace("Will not be tracked: {0}", type.Name); } else { TrackedObjectMetaData metaData; if (trackedCOMObjects.TryGetValue(comObject, out metaData)) { metaData.RefCount += 1; } else { metaData = new TrackedObjectMetaData(type,1); trackedCOMObjects.Add(comObject, metaData); } if (trace) Trace("AddRef {0,2}: {1}", metaData.RefCount, type.Name); } }