PipeStream.BeginWrite Method (Byte[], Int32, Int32, AsyncCallback, Object)

 

Begins an asynchronous write operation.

Namespace:   System.IO.Pipes
Assembly:  System.Core (in System.Core.dll)

[SecurityCriticalAttribute]
[HostProtectionAttribute(SecurityAction.LinkDemand, ExternalThreading = true)]
public override IAsyncResult BeginWrite(
	byte[] buffer,
	int offset,
	int count,
	AsyncCallback callback,
	object state
)

Parameters

buffer
Type: System.Byte[]

The buffer that contains the data to write to the current stream.

offset
Type: System.Int32

The zero-based byte offset in buffer at which to begin copying bytes to the current stream.

count
Type: System.Int32

The maximum number of bytes to write.

callback
Type: System.AsyncCallback

The method to call when the asynchronous write operation is completed.

state
Type: System.Object

A user-provided object that distinguishes this particular asynchronous write request from other requests.

Return Value

Type: System.IAsyncResult

An IAsyncResult object that references the asynchronous write operation.

Exception Condition
ArgumentNullException

buffer is null.

ArgumentOutOfRangeException

offset is less than 0.

-or-

count is less than 0.

ArgumentException

count is greater than the number of bytes available in buffer.

ObjectDisposedException

The pipe is closed.

NotSupportedException

The pipe does not support write operations.

InvalidOperationException

The pipe is disconnected, waiting to connect, or the handle has not been set.

IOException

The pipe is broken or another I/O error occurred.

EndWrite must be called once for every call to BeginWrite. This can be done either in the same code that called BeginWrite or in a callback that is passed to BeginWrite.

Use the CanWrite property to determine whether the current PipeStream object supports write operations.

If the pipe is closed or an invalid argument is passed to BeginWrite, the appropriate exceptions are raised immediately. Errors that occur during an asynchronous write request occur on the thread pool thread that is performing the request. The exceptions are raised when the code calls the EndWrite method.

.NET Framework
Available since 3.5
Return to top
Show: