public void DeleteCppVersionCallBack()
 {
     if (this.mCallBack != IntPtr.Zero)
     {
         IntPtr callBackGCHandle = IIPSMobileVersionCallBack.GetCallBackGCHandle(this.mCallBack);
         GCHandle.FromIntPtr(callBackGCHandle).Free();
         IIPSMobileVersionCallBack.DestroyVersionInfoCallBack(this.mCallBack);
         this.mCallBack = IntPtr.Zero;
     }
 }
 protected override void Finalize()
 {
     try
     {
         if (this.mCallBack != IntPtr.Zero)
         {
             IntPtr callBackGCHandle = IIPSMobileVersionCallBack.GetCallBackGCHandle(this.mCallBack);
             GCHandle.FromIntPtr(callBackGCHandle).Free();
             IIPSMobileVersionCallBack.DestroyVersionInfoCallBack(this.mCallBack);
             this.mCallBack = IntPtr.Zero;
         }
     }
     finally
     {
         base.Finalize();
     }
 }