PipeStream Class

Definition

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

public ref class PipeStream abstract : System::IO::Stream
public abstract class PipeStream : System.IO.Stream
type PipeStream = class
    inherit Stream
Public MustInherit Class PipeStream
Inherits Stream
Inheritance
Derived

Remarks

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 for Local Interprocess Communication. For an example of named pipes, see How to: Use Named Pipes for Network Interprocess Communication.

Constructors

PipeStream(PipeDirection, Int32)

Initializes a new instance of the PipeStream class using the specified PipeDirection value and buffer size.

PipeStream(PipeDirection, PipeTransmissionMode, Int32)

Initializes a new instance of the PipeStream class using the specified PipeDirection, PipeTransmissionMode, and buffer size.

Properties

CanRead

Gets a value indicating whether the current stream supports read operations.

CanSeek

Gets a value indicating whether the current stream supports seek operations.

CanTimeout

Gets a value that determines whether the current stream can time out.

(Inherited from Stream)
CanWrite

Gets a value indicating whether the current stream supports write operations.

InBufferSize

Gets the size, in bytes, of the inbound buffer for a pipe.

IsAsync

Gets a value indicating whether a PipeStream object was opened asynchronously or synchronously.

IsConnected

Gets or sets a value indicating whether a PipeStream object is connected.

IsHandleExposed

Gets a value indicating whether a handle to a PipeStream object is exposed.

IsMessageComplete

Gets a value indicating whether there is more data in the message returned from the most recent read operation.

Length

Gets the length of a stream, in bytes.

OutBufferSize

Gets the size, in bytes, of the outbound buffer for a pipe.

Position

Gets or sets the current position of the current stream.

ReadMode

Gets or sets the reading mode for a PipeStream object.

ReadTimeout

Gets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.

(Inherited from Stream)
SafePipeHandle

Gets the safe handle for the local end of the pipe that the current PipeStream object encapsulates.

TransmissionMode

Gets the pipe transmission mode supported by the current pipe.

WriteTimeout

Gets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.

(Inherited from Stream)

Methods

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Begins an asynchronous read operation.

BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Begins an asynchronous write operation.

CheckPipePropertyOperations()

Verifies that the pipe is in a proper state for getting or setting properties.

CheckReadOperations()

Verifies that the pipe is in a connected state for read operations.

CheckWriteOperations()

Verifies that the pipe is in a connected state for write operations.

Close()

Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. Instead of calling this method, ensure that the stream is properly disposed.

(Inherited from Stream)
CopyTo(Stream)

Reads the bytes from the current stream and writes them to another stream.

(Inherited from Stream)
CopyTo(Stream, Int32)

Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Inherited from Stream)
CopyToAsync(Stream)

Asynchronously reads the bytes from the current stream and writes them to another stream.

(Inherited from Stream)
CopyToAsync(Stream, CancellationToken)

Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified cancellation token.

(Inherited from Stream)
CopyToAsync(Stream, Int32)

Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Inherited from Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token.

(Inherited from Stream)
CreateObjRef(Type)

Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
CreateWaitHandle()

Allocates a WaitHandle object.

(Inherited from Stream)
Dispose()

Releases all resources used by the Stream.

(Inherited from Stream)
Dispose(Boolean)

Releases the unmanaged resources used by the PipeStream class and optionally releases the managed resources.

DisposeAsync()

Asynchronously releases the unmanaged resources used by the Stream.

(Inherited from Stream)
EndRead(IAsyncResult)

Ends a pending asynchronous read request.

EndWrite(IAsyncResult)

Ends a pending asynchronous write request.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
Flush()

Clears the buffer for the current stream and causes any buffered data to be written to the underlying device.

FlushAsync()

Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.

(Inherited from Stream)
FlushAsync(CancellationToken)

Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests.

(Inherited from Stream)
GetAccessControl()

Gets a PipeSecurity object that encapsulates the access control list (ACL) entries for the pipe described by the current PipeStream object.

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetLifetimeService()

Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
InitializeHandle(SafePipeHandle, Boolean, Boolean)

Initializes a PipeStream object from the specified SafePipeHandle object.

InitializeLifetimeService()

Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean)

Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
ObjectInvariant()

Provides support for a Contract.

(Inherited from Stream)
Read(Byte[], Int32, Int32)

Reads a block of bytes from a stream and writes the data to a specified buffer starting at a specified position for a specified length.

Read(Span<Byte>)

Reads a sequence of bytes from the current stream, writes them to a byte array, and advances the position within the stream by the number of bytes read.

ReadAsync(Byte[], Int32, Int32)

Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

(Inherited from Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Asynchronously reads a sequence of bytes from the current stream to a byte array starting at a specified position for a specified number of bytes, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

ReadAsync(Memory<Byte>, CancellationToken)

Asynchronously reads a sequence of bytes from the current stream, writes them to a byte memory range, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

ReadByte()

Reads a byte from a pipe.

Seek(Int64, SeekOrigin)

Sets the current position of the current stream to the specified value.

SetAccessControl(PipeSecurity)

Applies the access control list (ACL) entries specified by a PipeSecurity object to the pipe specified by the current PipeStream object.

SetLength(Int64)

Sets the length of the current stream to the specified value.

ToString()

Returns a string that represents the current object.

(Inherited from Object)
WaitForPipeDrain()

Waits for the other end of the pipe to read all sent bytes.

Write(Byte[], Int32, Int32)

Writes a block of bytes to the current stream using data from a buffer.

Write(ReadOnlySpan<Byte>)

Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

WriteAsync(Byte[], Int32, Int32)

Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

(Inherited from Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Asynchronously writes a specified number of bytes from a byte array starting at a specified position, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

WriteByte(Byte)

Writes a byte to the current stream.

Explicit Interface Implementations

IDisposable.Dispose()

Releases all resources used by the Stream.

(Inherited from Stream)

Extension Methods

GetAccessControl(PipeStream)
SetAccessControl(PipeStream, PipeSecurity)

Security

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

Applies to