byte[] IMapiFxProxy.GetObjectData()
        {
            IDataMessage dataMessage = base.WrappedObject.SendMessageAndWaitForReply(FxProxyGetObjectDataRequestMessage.Instance);
            FxProxyGetObjectDataResponseMessage fxProxyGetObjectDataResponseMessage = dataMessage as FxProxyGetObjectDataResponseMessage;

            if (fxProxyGetObjectDataResponseMessage == null)
            {
                throw new UnexpectedErrorPermanentException(-2147024809);
            }
            return(fxProxyGetObjectDataResponseMessage.Buffer);
        }
        IFxProxy IDestinationMailbox.GetFxProxy()
        {
            MrsTracer.ProxyClient.Function("RemoteDestinationMailbox.GetFxProxy", new object[0]);
            base.VerifyMailboxConnection();
            byte[]                  data;
            long                    handle             = base.MrsProxy.IDestinationMailbox_GetFxProxy(base.Handle, out data);
            IDataMessage            getDataResponseMsg = FxProxyGetObjectDataResponseMessage.Deserialize(DataMessageOpcode.FxProxyGetObjectDataResponse, data, base.MrsProxyClient.UseCompression);
            BufferedTransmitter     destination        = new BufferedTransmitter(new RemoteDataImport(base.MrsProxy, handle, getDataResponseMsg), base.ExportBufferSizeKB, true, base.MrsProxyClient.UseBuffering, base.MrsProxyClient.UseCompression);
            AsynchronousTransmitter destination2       = new AsynchronousTransmitter(destination, true);

            return(new FxProxyTransmitter(destination2, true));
        }
        IFxProxy IDestinationFolder.GetFxProxy(FastTransferFlags flags)
        {
            byte[] data;
            long   handle;

            if (base.ServerVersion[30])
            {
                handle = base.MrsProxy.IDestinationFolder_GetFxProxy2(base.Handle, (int)flags, out data);
            }
            else
            {
                handle = base.MrsProxy.IDestinationFolder_GetFxProxy(base.Handle, out data);
            }
            IDataMessage            getDataResponseMsg = FxProxyGetObjectDataResponseMessage.Deserialize(DataMessageOpcode.FxProxyGetObjectDataResponse, data, base.MrsProxyClient.UseCompression);
            BufferedTransmitter     destination        = new BufferedTransmitter(new RemoteDataImport(base.MrsProxy, handle, getDataResponseMsg), this.exportBufferSizeKB, true, base.MrsProxyClient.UseBuffering, base.MrsProxyClient.UseCompression);
            AsynchronousTransmitter destination2       = new AsynchronousTransmitter(destination, true);

            return(new FxProxyTransmitter(destination2, true));
        }