Udostępnij za pośrednictwem


PipeStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Metoda

Definicja

Rozpoczyna asynchroniczną operację odczytu.

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

Parametry

buffer
Byte[]

Bufor do odczytu danych.

offset
Int32

Przesunięcie bajtu, w buffer którym należy rozpocząć czytanie.

count
Int32

Maksymalna liczba bajtów do odczytania.

callback
AsyncCallback

Metoda wywoływana po zakończeniu asynchronicznej operacji odczytu.

state
Object

Obiekt dostarczony przez użytkownika, który rozróżnia to konkretne asynchroniczne żądanie odczytu z innych żądań.

Zwraca

IAsyncResult Obiekt, który odwołuje się do odczytu asynchronicznego.

Atrybuty

Wyjątki

buffer to null.

offset wartość jest mniejsza niż 0.

-lub-

count wartość jest mniejsza niż 0.

count jest większa niż liczba bajtów dostępnych w pliku buffer.

Rura jest zamknięta.

Potok nie obsługuje operacji odczytu.

Potok jest odłączony, czeka na połączenie lub nie ustawiono uchwytu.

Potok jest uszkodzony lub wystąpił inny błąd we/wy.

Uwagi

Przekaż zwrócony IAsyncResult obiekt do EndRead metody, aby określić liczbę odczytanych bajtów i zwolnić zasoby systemu operacyjnego używane do odczytu. EndRead musi być wywoływany raz dla każdego wywołania metody BeginRead. Można to zrobić w tym samym kodzie, który wywołuje BeginRead metodę lub w wywołaniu zwrotnym przekazywanym do metody BeginRead.

Użyj właściwości , CanRead aby określić, czy bieżący PipeStream obiekt obsługuje operacje odczytu.

Jeśli potok jest zamknięty lub do metody zostanie przekazany BeginReadnieprawidłowy argument , zostaną natychmiast zgłoszone odpowiednie wyjątki. Błędy występujące podczas asynchronicznego żądania odczytu występują w wątku puli wątków, który wykonuje żądanie. Wyjątki są zgłaszane, gdy kod wywołuje metodę EndRead .

Dotyczy