1 out of 1 rated this helpful - Rate this topic

PipeStream Class

Exposes a Stream object around a pipe, which supports both anonymous and named pipes.

Namespace:  System.IO.Pipes
Assembly:  System.Core (in System.Core.dll)
[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
[HostProtectionAttribute(SecurityAction.LinkDemand, MayLeakOnAbort = true)]
public abstract class PipeStream : Stream

The PipeStream type exposes the following members.

  Name Description
Protected method PipeStream(PipeDirection, Int32) Initializes a new instance of the PipeStream class using the specified PipeDirection value and buffer size.
Protected method PipeStream(PipeDirection, PipeTransmissionMode, Int32) Initializes a new instance of the PipeStream class using the specified PipeDirection, PipeTransmissionMode, and buffer size.
Top
  Name Description
Public property CanRead Gets a value indicating whether the current stream supports read operations. (Overrides Stream.CanRead.)
Public property CanSeek Gets a value indicating whether the current stream supports seek operations. (Overrides Stream.CanSeek.)
Public property CanTimeout Gets a value that determines whether the current stream can time out. (Inherited from Stream.)
Public property CanWrite Gets a value indicating whether the current stream supports write operations. (Overrides Stream.CanWrite.)
Public property InBufferSize Gets the size, in bytes, of the inbound buffer for a pipe.
Public property IsAsync Gets a value indicating whether a PipeStream object was opened asynchronously or synchronously.
Public property IsConnected Gets or sets a value indicating whether a PipeStream object is connected.
Protected property IsHandleExposed Gets a value indicating whether a handle to a PipeStream object is exposed.
Public property IsMessageComplete Gets a value indicating whether there is more data in the message returned from the most recent read operation.
Public property Length Gets the length of a stream, in bytes. (Overrides Stream.Length.)
Public property OutBufferSize Gets the size, in bytes, of the outbound buffer for a pipe.
Public property Position Gets or sets the current position of the current stream. (Overrides Stream.Position.)
Public property ReadMode Gets or sets the reading mode for a PipeStream object.
Public property ReadTimeout Gets or sets a value, in miliseconds, that determines how long the stream will attempt to read before timing out. (Inherited from Stream.)
Public property SafePipeHandle Gets the safe handle for the local end of the pipe that the current PipeStream object encapsulates.
Public property TransmissionMode Gets the pipe transmission mode supported by the current pipe.
Public property WriteTimeout Gets or sets a value, in miliseconds, that determines how long the stream will attempt to write before timing out. (Inherited from Stream.)
Top
  Name Description
Public method BeginRead Begins an asynchronous read operation. (Overrides Stream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object).)
Public method BeginWrite Begins an asynchronous write operation. (Overrides Stream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object).)
Protected method CheckPipePropertyOperations Infrastructure. Verifies that the pipe is in a proper state for getting or setting properties.
Protected method CheckReadOperations Infrastructure. Verifies that the pipe is in a connected state for read operations.
Protected method CheckWriteOperations Infrastructure. Verifies that the pipe is in a connected state for write operations.
Public method Close Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. (Inherited from Stream.)
Public method CopyTo(Stream) Reads the bytes from the current stream and writes them to the destination stream. (Inherited from Stream.)
Public method CopyTo(Stream, Int32) Reads all the bytes from the current stream and writes them to a destination stream, using a specified buffer size. (Inherited from Stream.)
Public method CreateObjRef Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject.)
Protected method CreateWaitHandle Obsolete. Allocates a WaitHandle object. (Inherited from Stream.)
Public method Dispose() Releases all resources used by the Stream. (Inherited from Stream.)
Protected method Dispose(Boolean) Releases the unmanaged resources used by the PipeStream class and optionally releases the managed resources. (Overrides Stream.Dispose(Boolean).)
Public method EndRead Ends a pending asynchronous read request. (Overrides Stream.EndRead(IAsyncResult).)
Public method EndWrite Ends a pending asynchronous write request. (Overrides Stream.EndWrite(IAsyncResult).)
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method Flush Clears the buffer for the current stream and causes any buffered data to be written to the underlying device. (Overrides Stream.Flush().)
Public method GetAccessControl Gets a PipeSecurity object that encapsulates the access control list (ACL) entries for the pipe described by the current PipeStream object.
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetLifetimeService Retrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method InitializeHandle Initializes a PipeStream object from the specified SafePipeHandle object.
Public method InitializeLifetimeService Obtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Protected method MemberwiseClone() Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method MemberwiseClone(Boolean) Creates a shallow copy of the current MarshalByRefObject object. (Inherited from MarshalByRefObject.)
Protected method ObjectInvariant Infrastructure. Provides support for a Contract. (Inherited from Stream.)
Public method Read Reads a block of bytes from a stream and writes the data to a specified buffer. (Overrides Stream.Read(Byte[], Int32, Int32).)
Public method ReadByte Reads a byte from a pipe. (Overrides Stream.ReadByte().)
Public method Seek Sets the current position of the current stream to the specified value. (Overrides Stream.Seek(Int64, SeekOrigin).)
Public method SetAccessControl Applies the access control list (ACL) entries specified by a PipeSecurity object to the pipe specified by the current PipeStream object.
Public method SetLength Sets the length of the current stream to the specified value. (Overrides Stream.SetLength(Int64).)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Public method WaitForPipeDrain Waits for the other end of the pipe to read all sent bytes.
Public method Write Writes a block of bytes to the current stream using data from a buffer. (Overrides Stream.Write(Byte[], Int32, Int32).)
Public method WriteByte Writes a byte to the current stream. (Overrides Stream.WriteByte(Byte).)
Top

The PipeStream class provides the base class for named and anonymous pipes operations in the .NET Framework. Use the NamedPipeServerStream and NamedPipeClientStream classes for named pipe operations. Use the AnonymousPipeServerStream and AnonymousPipeClientStream classes for anonymous pipe operations.

For more information about pipes, see Pipes. For an example of anonymous pipes, see How to: Use Anonymous Pipes to Communicate Between Local Processes. For an example of named pipes, see How to: Use Named Pipes to Communicate Between Processes over a Network.

Note Note

The HostProtectionAttribute attribute applied to this type or member has the following Resources property value: MayLeakOnAbort. The HostProtectionAttribute does not affect desktop applications (which are typically started by double-clicking an icon, typing a command, or entering a URL in a browser). For more information, see the HostProtectionAttribute class or SQL Server Programming and Host Protection Attributes.

.NET Framework

Supported in: 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
  • InheritanceDemand  

    for full trust for inheritors. This class cannot be inherited by partially trusted code.

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
Flush does what?
The description of Flush says
Clears the buffer for the current stream and causes any buffered data to be written to the underlying device. (Overrides Stream.Flush().)
but if you follow the Flush link, its Remark says
The Flush method is not supported in the PipeStream class and does nothing when it is called.
The truth seems to be part way between these two. Can't we have a Caution triangle shown somewhere to warn not to try using Flush?