public override void Flush()
 {
     if (this.disposed)
     {
         throw new ObjectDisposedException(null);
     }
     LocalServerNativeMethods.MSMDLocalStreamFlush();
 }
 public override void Write(byte[] buffer, int offset, int size)
 {
     if (this.disposed)
     {
         throw new ObjectDisposedException(null);
     }
     LocalServerNativeMethods.MSMDLocalStreamWrite(buffer, offset, size);
 }
 public override int Read(byte[] buffer, int offset, int size)
 {
     if (this.disposed)
     {
         throw new ObjectDisposedException(null);
     }
     return(LocalServerNativeMethods.MSMDLocalStreamRead(buffer, offset, size));
 }
 public override void WriteEndOfMessage()
 {
     if (this.disposed)
     {
         throw new ObjectDisposedException(null);
     }
     LocalServerNativeMethods.MSMDLocalStreamWriteEndOfMessage();
 }
 public override void Dispose()
 {
     try
     {
         LocalServerNativeMethods.MSMDLocalStreamCloseBase();
         this.disposed = true;
     }
     finally
     {
         base.Dispose(true);
     }
 }
 public override void Close()
 {
     LocalServerNativeMethods.MSMDLocalStreamClose();
 }