private void SaveHistoryHelper(object comIStream, bool persistEntireJournal, out int entryIndex, out string uri, out string title) { string text; title = (text = null); uri = text; entryIndex = -1; if (this._appProxyInternal == null || !RemotingServices.IsTransparentProxy(this._appProxyInternal)) { return; } DocObjHost.SecuritySuppressedIStream securitySuppressedIStream = comIStream as DocObjHost.SecuritySuppressedIStream; if (securitySuppressedIStream == null) { return; } byte[] saveHistoryBytes = this._appProxyInternal.GetSaveHistoryBytes(persistEntireJournal, out entryIndex, out uri, out title); if (saveHistoryBytes == null) { return; } int num = saveHistoryBytes.Length; int num2 = 0; securitySuppressedIStream.Write(saveHistoryBytes, num, out num2); Invariant.Assert(num2 == num, "Error saving journal stream to native IStream"); }
internal static MemoryStream ExtractComStream(object comIStream) { DocObjHost.SecuritySuppressedIStream securitySuppressedIStream = comIStream as DocObjHost.SecuritySuppressedIStream; if (securitySuppressedIStream == null) { throw new ArgumentNullException("comIStream"); } MemoryStream memoryStream = new MemoryStream(); byte[] array = new byte[1024]; int num = 0; do { num = 0; securitySuppressedIStream.Read(array, 1024, out num); memoryStream.Write(array, 0, num); }while (num > 0); Invariant.Assert(memoryStream.Length > 0L, "Error reading journal stream from native IStream"); return(memoryStream); }