Partager via


BufferedStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Méthode

Définition

Débute une opération de lecture asynchrone. (Utilisez ReadAsync(Byte[], Int32, Int32, CancellationToken) à la place.)

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);
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

Paramètres

buffer
Byte[]

Mémoire tampon dans laquelle lire les données.buffer

offset
Int32

Dans buffer, décalage d'octet auquel commencer l'écriture des données lues dans le flux.

count
Int32

Nombre maximal d'octets à lire.

callback
AsyncCallback

Rappel asynchrone facultatif, à appeler quand la lecture est terminée.

state
Object

Objet fourni par l'utilisateur qui distingue cette requête de lecture asynchrone des autres requêtes.

Retours

Objet représentant la lecture asynchrone qui pourrait toujours être en attente.

Exceptions

buffer a la valeur null.

offset ou count est un nombre négatif.

A tenté une lecture asynchrone au-delà de la fin du fichier du flux.

La longueur de la mémoire tampon moins offset est inférieure à count.

Le flux actuel ne prend pas en charge l’opération de lecture.

Remarques

Dans .NET Framework 4 et les versions antérieures, vous devez utiliser des méthodes telles que BeginRead et EndRead pour implémenter des opérations de fichier asynchrones. Ces méthodes sont toujours disponibles dans .NET Framework 4.5 pour prendre en charge le code hérité ; Toutefois, les nouvelles méthodes asynchrones, telles que ReadAsync, WriteAsyncet FlushAsync, vous aident à implémenter plus facilement des opérations de fichier asynchrones.

EndWrite doit être appelé exactement une fois pour chaque appel à BeginRead. Le fait de ne pas mettre fin à un processus de lecture avant d’en commencer une autre peut entraîner un comportement indésirable tel qu’un blocage.

Notes

Utilisez la CanRead propriété pour déterminer si le instance actuel prend en charge la lecture.

EndRead doit être appelé avec ce IAsyncResult pour savoir combien d’octets ont été lus.

S’applique à