private static void ExportLogsBackupProgressCallback(LogsBackupRemoteOperate operate, float progress, IntPtr user_data) { NIMLogsBackupExportInfo export_info = (NIMLogsBackupExportInfo)Marshal.PtrToStructure(user_data, typeof(NIMLogsBackupExportInfo)); if (export_info != null && export_info.ProgressCallback_ != null) { export_info.ProgressCallback_(operate, progress); } }
private static void ExportLogsBackupCompleteCallback(LogsBackupRemoteOperate operate, LogsBackupRemoteState state, IntPtr user_data) { NIMLogsBackupExportInfo export_info = (NIMLogsBackupExportInfo)Marshal.PtrToStructure(user_data, typeof(NIMLogsBackupExportInfo)); if (export_info != null && export_info.CompleteCallback_ != null) { export_info.CompleteCallback_(operate, state); } //注意,这里应释放user_data Marshal.FreeHGlobal(user_data); }
private void LogsBackupProgressCallback(LogsBackupRemoteOperate operate, float progress) { DemoTrace.WriteLine(string.Format("operate :{0} progress{1}", operate.ToString(), progress)); }
private void LogsBackupCompleteCallback(LogsBackupRemoteOperate operate, LogsBackupRemoteState state) { DemoTrace.WriteLine(string.Format("operate :{0} progress{1}", operate.ToString(), state)); }