IsolatedStorageFileStream.BeginWrite Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Begins an asynchronous write.
Assembly: mscorlib (in mscorlib.dll)
public override IAsyncResult BeginWrite( byte[] buffer, int offset, int numBytes, AsyncCallback userCallback, Object stateObject )
Parameters
- buffer
- Type:
System.Byte
[]
The buffer to write data to.
- offset
- Type: System.Int32
The byte offset in buffer at which to begin writing.
- numBytes
- Type: System.Int32
The maximum number of bytes to write.
- userCallback
- Type: System.AsyncCallback
The method to call when the asynchronous write operation is completed. This parameter is optional.
- stateObject
- Type: System.Object
The status of the asynchronous write.
Return Value
Type: System.IAsyncResultAn IAsyncResult that represents the asynchronous write, which is possibly still pending. This IAsyncResult must be passed to this stream's EndWrite method to ensure that the write is complete, then frees resources appropriately. This can be done either by the same code that called BeginWrite or in a callback passed to BeginWrite.
| Exception | Condition |
|---|---|
| IsolatedStorageException | The isolated store has been removed. -or- Isolated storage is disabled. |
| ArgumentException | The buffer length minus offset is less than numBytes. |
| ArgumentNullException | buffer is null. |
| ArgumentOutOfRangeException | offset or numBytes is negative. |
| IOException | An asynchronous read was attempted past the end of the file. |
| ObjectDisposedException | The stream has been disposed. |
If a IsolatedStorageFileStream object is writable, writing at the end of the stream expands the stream.
The current position in the stream is updated when you issue the asynchronous read or write, not when the I/O operation completes.
You must call EndWrite with the IAsyncResult object that this method returns to find out how many bytes were written.
Version Notes
Windows Phone
When this method is called within a Windows Phone application, the operation is executed synchronously. If you have to write a large amount of data and do not want to interrupt the UI thread, you can create a new thread and perform the operation on that thread.