BufferedStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Begint een asynchrone leesbewerking. (Overweeg in plaats daarvan om te gebruiken ReadAsync(Byte[], Int32, Int32, CancellationToken) .)
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);
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
Parameters
- buffer
- Byte[]
De buffer om de gegevens in te lezen.
- offset
- Int32
De byte-offset buffer waarin gegevens worden geschreven die uit de stream worden gelezen.
- count
- Int32
Het maximum aantal bytes dat moet worden gelezen.
- callback
- AsyncCallback
Een optionele asynchrone callback die moet worden aangeroepen wanneer de leesbewerking is voltooid.
- state
- Object
Een door de gebruiker verstrekt object dat deze specifieke asynchrone leesaanvraag onderscheidt van andere aanvragen.
Retouren
Een object dat de asynchrone leesbewerking vertegenwoordigt, die nog in behandeling kan zijn.
Uitzonderingen
buffer is null.
offset of count is negatief.
Er is geprobeerd een asynchrone leesbewerking te maken die voorbij het einde van de stream is gelezen.
De bufferlengte min offset is kleiner dan count.
De huidige stroom biedt geen ondersteuning voor de leesbewerking.
Opmerkingen
In de .NET Framework 4- en eerdere versies moet u methoden zoals BeginRead en EndRead gebruiken om asynchrone bestandsbewerkingen te implementeren. Deze methoden zijn nog steeds beschikbaar in het .NET Framework 4.5 ter ondersteuning van verouderde code. De nieuwe asynchrone methoden, zoals ReadAsync, WriteAsync en FlushAsync, helpen u bij het eenvoudiger implementeren van asynchrone bestandsbewerkingen.
EndWrite moet precies één keer worden aangeroepen voor elke aanroep naar BeginRead. Als u een leesproces niet beëindigt voordat een andere leesbewerking wordt gestart, kan dit ongewenst gedrag veroorzaken, zoals een impasse.
Note
Gebruik de CanRead eigenschap om te bepalen of het huidige exemplaar leesopties ondersteunt.
EndRead moet worden aangeroepen om IAsyncResult erachter te komen hoeveel bytes er zijn gelezen.