BufferedStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Begins an asynchronous write operation. (Consider using WriteAsync(Byte[], Int32, Int32, CancellationToken) instead.)
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ callback, System::Object ^ state);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback? callback, object? state);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback callback, object state);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback callback, object? state);
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginWrite (buffer As Byte(), offset As Integer, count As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Parameters
- buffer
- Byte[]
The buffer containing data to write to the current stream.
- offset
- Int32
The zero-based byte offset in buffer
at which to begin copying bytes to the current stream.
- count
- Int32
The maximum number of bytes to write.
- callback
- AsyncCallback
The method to be called when the asynchronous write operation is completed.
- state
- Object
A user-provided object that distinguishes this particular asynchronous write request from other requests.
Returns
An object that references the asynchronous write which could still be pending.
Exceptions
buffer
length minus offset
is less than count
.
buffer
is null
.
offset
or count
is negative.
The stream does not support writing.
Remarks
In the .NET Framework 4 and earlier versions, you have to use methods such as BeginWrite and EndWrite to implement asynchronous file operations. These methods are still available in the .NET Framework 4.5 to support legacy code; however, the new async methods, such as ReadAsync, WriteAsync, and FlushAsync, help you implement asynchronous file operations more easily.
EndWrite must be called exactly once on every IAsyncResult from BeginWrite. EndWrite will block until the I/O operation has completed.