IsolatedStorageFileStream.BeginRead Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Begins an asynchronous read.
Assembly: mscorlib (in mscorlib.dll)
'Declaration Public Overrides Function BeginRead ( _ buffer As Byte(), _ offset As Integer, _ numBytes As Integer, _ userCallback As AsyncCallback, _ stateObject As Object _ ) As IAsyncResult
Parameters
- buffer
- Type:
System.Byte
()
The buffer to read data into.
- offset
- Type: System.Int32
The byte offset in buffer at which to begin reading.
- numBytes
- Type: System.Int32
The maximum number of bytes to read.
- userCallback
- Type: System.AsyncCallback
The method to call when the asynchronous read operation is completed. This parameter is optional.
- stateObject
- Type: System.Object
The status of the asynchronous read.
Return Value
Type: System.IAsyncResultAn IAsyncResult object that represents the asynchronous read, which is possibly still pending. This IAsyncResult must be passed to this stream's EndRead method to determine how many bytes were read. This can be done either by the same code that called BeginRead or in a callback passed to BeginRead.
| 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 Nothing. |
| ArgumentOutOfRangeException | offset or numBytes is negative. |
| IOException | An asynchronous read was attempted past the end of the file. |
| ObjectDisposedException | The stream has been disposed. |
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 EndRead with this IAsyncResult to find out how many bytes were read.
Version Notes
Windows Phone
When this method is called within a Windows Phone application, the operation is executed synchronously. If you have to read 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.