public DownloadCallBack(IIPSMobileDownloadCallbackInterface CBImp)
        {
            IntPtr callback = GCHandle.ToIntPtr(GCHandle.Alloc(CBImp, 2));

            this.errFunc      = new DownloadCallBack.OnDownloadErrorFunc(DownloadCallBack.OnDownloadError);
            this.succFunc     = new DownloadCallBack.OnDownloadSuccessFunc(DownloadCallBack.OnDownloadSuccess);
            this.progressFunc = new DownloadCallBack.OnDownloadProgressFunc(DownloadCallBack.OnDownloadProgress);
            this.mCallBack    = DownloadCallBack.CreateDownlaodMgrCallBack(this.errFunc, this.succFunc, this.progressFunc, callback);
        }
 private static extern IntPtr CreateDownlaodMgrCallBack(DownloadCallBack.OnDownloadErrorFunc onDownloadError, DownloadCallBack.OnDownloadSuccessFunc onDownloadSuccess, DownloadCallBack.OnDownloadProgressFunc onDownloadProgress, IntPtr callback);