DeflateStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rozpoczyna asynchroniczną operację odczytu. (Zamiast tego rozważ użycie ReadAsync(Byte[], Int32, Int32) metody ).
public:
override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public:
override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ array, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public:
override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ cback, System::Object ^ state);
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback asyncCallback, object asyncState);
public override IAsyncResult BeginRead (byte[] array, int offset, int count, AsyncCallback asyncCallback, object asyncState);
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback cback, object state);
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginRead (buffer As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Public Overrides Function BeginRead (array As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Public Overrides Function BeginRead (buffer As Byte(), offset As Integer, count As Integer, cback As AsyncCallback, state As Object) As IAsyncResult
Parametry
- bufferarray
- Byte[]
Tablica bajtów do odczytu danych.
- offset
- Int32
Przesunięcie bajtu, w array którym należy rozpocząć odczytywanie danych ze strumienia.
- count
- Int32
Maksymalna liczba bajtów do odczytania.
- asyncCallbackcback
- AsyncCallback
Opcjonalne wywołanie asynchroniczne, które ma być wywoływane po zakończeniu operacji odczytu.
- asyncStatestate
- Object
Obiekt dostarczony przez użytkownika, który rozróżnia to konkretne asynchroniczne żądanie odczytu z innych żądań.
Zwraca
Obiekt reprezentujący operację odczytu asynchronicznego, która nadal może być oczekująca.
Wyjątki
Metoda próbowała odczytać asynchronicznie obok końca strumienia lub wystąpił błąd dysku.
Co najmniej jeden argument jest nieprawidłowy.
Metody zostały wywołane po zamknięciu strumienia.
Bieżąca DeflateStream implementacja nie obsługuje operacji odczytu.
Nie można ukończyć tego wywołania.
Uwagi
Począwszy od .NET Framework 4,5, można wykonywać asynchroniczne operacje odczytu przy użyciu ReadAsync metody. BeginReadMetoda jest nadal dostępna w .NET Framework 4,5 do obsługi starszego kodu, jednak można w łatwy sposób zaimplementować asynchroniczne operacje we/wy przy użyciu nowych metod asynchronicznych. Aby uzyskać więcej informacji, zobacz asynchroniczne operacje we/wy na plikach.
Przekaż IAsyncResult wartość zwracaną do EndRead metody strumienia, aby określić, ile bajtów zostało odczytanych i aby zwolnić zasoby systemu operacyjnego używane do odczytu. Można to zrobić przy użyciu tego samego kodu, który został wywołany, BeginRead lub w wywołaniu zwrotnym przekazanym do BeginRead .
Bieżące położenie w strumieniu jest aktualizowane w momencie wystawienia asynchronicznej operacji odczytu lub zapisu, a nie po zakończeniu operacji we/wy.
Wiele jednoczesnych żądań asynchronicznych renderuje kolejność uzupełniania żądań.
Użyj CanRead właściwości, aby określić, czy bieżący DeflateStream obiekt obsługuje odczytywanie.
Jeśli strumień jest zamknięty lub przeszedł nieprawidłowy argument, wyjątki są zgłaszane od razu BeginRead . Błędy występujące podczas asynchronicznego żądania odczytu, takie jak awaria dysku w trakcie żądania we/wy, występuje w wątku puli wątków i generują wyjątki podczas wywoływania EndRead .