private static IntPtr ExportBackupToRemotePackageCallback(string file_path, IntPtr user_data) { IntPtr path = IntPtr.Zero; NIMLogsBackupExportInfo export_info = (NIMLogsBackupExportInfo)Marshal.PtrToStructure(user_data, typeof(NIMLogsBackupExportInfo)); if (export_info != null && export_info.ToRemotePackageCallback_ != null) { string temp_path = export_info.ToRemotePackageCallback_(file_path); path = Utf8StringMarshaler.GetInstance("").MarshalManagedToNative(temp_path); } return(path); }