void ISourceFolder.CopyTo(IFxProxy destFxProxy, CopyPropertiesFlags flags, PropTag[] excludeTags) { MrsTracer.ProxyClient.Function("ISourceFolder.CopyTo({0}): {1}", new object[] { flags, base.FolderName }); byte[] objectData = destFxProxy.GetObjectData(); DataExportBatch dataExportBatch; if (base.ServerVersion[30]) { dataExportBatch = base.MrsProxy.ISourceFolder_CopyTo(base.Handle, (int)flags, DataConverter <PropTagConverter, PropTag, int> .GetData(excludeTags), objectData); } else { dataExportBatch = base.MrsProxy.ISourceFolder_Export2(base.Handle, DataConverter <PropTagConverter, PropTag, int> .GetData(excludeTags), objectData); } long dataExportHandle = dataExportBatch.DataExportHandle; using (FxProxyReceiver fxProxyReceiver = new FxProxyReceiver(destFxProxy, false)) { using (BufferedReceiver bufferedReceiver = new BufferedReceiver(fxProxyReceiver, false, base.MrsProxyClient.UseBuffering, base.MrsProxyClient.UseCompression)) { RemoteDataExport.ExportRoutine(base.MrsProxy, dataExportHandle, bufferedReceiver, dataExportBatch, base.MrsProxyClient.UseCompression); } } }
void ISourceMailbox.CopyTo(IFxProxy destMailbox, PropTag[] excludeProps) { MrsTracer.ProxyClient.Function("RemoteSourceMailbox.CopyTo", new object[0]); base.VerifyMailboxConnection(); byte[] objectData = destMailbox.GetObjectData(); DataExportBatch dataExportBatch = base.MrsProxy.ISourceMailbox_Export2(base.Handle, DataConverter <PropTagConverter, PropTag, int> .GetData(excludeProps), objectData); using (FxProxyReceiver fxProxyReceiver = new FxProxyReceiver(destMailbox, false)) { using (BufferedReceiver bufferedReceiver = new BufferedReceiver(fxProxyReceiver, false, base.MrsProxyClient.UseBuffering, base.MrsProxyClient.UseCompression)) { RemoteDataExport.ExportRoutine(base.MrsProxy, dataExportBatch.DataExportHandle, bufferedReceiver, dataExportBatch, base.MrsProxyClient.UseCompression); } } }
void ISourceFolder.ExportMessages(IFxProxy destFolderProxy, CopyMessagesFlags flags, byte[][] entryIds) { MrsTracer.ProxyClient.Function("ISourceFolder.ExportMessages({0}): {1}", new object[] { flags, base.FolderName }); byte[] objectData = destFolderProxy.GetObjectData(); DataExportBatch dataExportBatch = base.MrsProxy.ISourceFolder_ExportMessages(base.Handle, (int)flags, entryIds, objectData); long dataExportHandle = dataExportBatch.DataExportHandle; using (FxProxyReceiver fxProxyReceiver = new FxProxyReceiver(destFolderProxy, false)) { using (BufferedReceiver bufferedReceiver = new BufferedReceiver(fxProxyReceiver, false, base.MrsProxyClient.UseBuffering, base.MrsProxyClient.UseCompression)) { RemoteDataExport.ExportRoutine(base.MrsProxy, dataExportHandle, bufferedReceiver, dataExportBatch, base.MrsProxyClient.UseCompression); } } }