BufferedStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.