/// <summary> /// Increments the reference count for an object. /// </summary> public int AddReference() { if (ReferenceTracker.TrackReferences) { ReferenceTracker.ReferenceIncremented(NativePointer, GetType()); } return(Marshal.AddRef(NativePointer)); }
/// <summary> /// Decrements the reference count for an object. /// </summary> public int ReleaseReference() { if (ReferenceTracker.TrackReferences) { ReferenceTracker.ReferenceDecremented(NativePointer, GetType()); } return(Marshal.Release(NativePointer)); }
protected ComObject(IntPtr nativePointer) { NativePointer = nativePointer; if (ReferenceTracker.TrackReferences) { ReferenceTracker.Constructed(NativePointer, GetType()); } }