PipeStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Метод

Определение

Начинает асинхронную операцию чтения.

public:
 override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ callback, System::Object ^ state);
public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback? callback, object? state);
public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback callback, object state);
[System.Security.SecurityCritical]
public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback callback, object state);
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
[<System.Security.SecurityCritical>]
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginRead (buffer As Byte(), offset As Integer, count As Integer, callback As AsyncCallback, state As Object) As IAsyncResult

Параметры

buffer
Byte[]

Буфер для чтения данных.

offset
Int32

Смещение байтов, с buffer которого начинается чтение.

count
Int32

Максимальное число байтов для чтения.

callback
AsyncCallback

Метод, вызывающий при завершении асинхронной операции чтения.

state
Object

Предоставленный пользователем объект, который отличает этот конкретный асинхронный запрос на чтение от других запросов.

Возвращаемое значение

Объект IAsyncResult , ссылающийся на асинхронное чтение.

Атрибуты

Исключения

buffer равно null.

offset меньше 0.

–или–

count меньше 0.

count больше количества байтов, доступных в buffer.

Канал закрыт.

Канал не поддерживает операции чтения.

Канал отключен, ожидает подключения или дескриптор не задан.

Канал поврежден или произошла другая ошибка ввода-вывода.

Комментарии

Передайте возвращенный IAsyncResult объект EndRead методу, чтобы определить, сколько байтов было считано и выпустить ресурсы операционной системы, используемые для чтения. EndRead необходимо вызывать один раз для каждого вызова BeginRead. Это можно сделать либо в том же коде, который вызывается BeginRead , либо в обратном вызове, передаваемом в BeginRead.

CanRead Используйте свойство, чтобы определить, поддерживает ли текущий PipeStream объект операции чтения.

Если канал закрыт или недопустимый аргумент передается BeginRead, соответствующие исключения возникают немедленно. Ошибки, возникающие во время асинхронного запроса на чтение, происходят в потоке пула потоков, выполняющего запрос. Исключения возникают при вызове EndRead метода кодом.

Применяется к