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 метод .