Esempio n. 1
0
        /// <summary>
        /// Increments the reference count for an object.
        /// </summary>
        public int AddReference()
        {
            if (ReferenceTracker.TrackReferences)
            {
                ReferenceTracker.ReferenceIncremented(NativePointer, GetType());
            }

            return(Marshal.AddRef(NativePointer));
        }
Esempio n. 2
0
        /// <summary>
        /// Decrements the reference count for an object.
        /// </summary>
        public int ReleaseReference()
        {
            if (ReferenceTracker.TrackReferences)
            {
                ReferenceTracker.ReferenceDecremented(NativePointer, GetType());
            }

            return(Marshal.Release(NativePointer));
        }
Esempio n. 3
0
        protected ComObject(IntPtr nativePointer)
        {
            NativePointer = nativePointer;

            if (ReferenceTracker.TrackReferences)
            {
                ReferenceTracker.Constructed(NativePointer, GetType());
            }
        }