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.
Commence une opération de lecture asynchrone. (Envisagez d’utiliser 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.
- offset
- Int32
Décalage d’octet dans buffer lequel commencer l’écriture de données lues à partir du flux.
- count
- Int32
Nombre maximal d’octets à lire.
- callback
- AsyncCallback
Rappel asynchrone facultatif à appeler une fois la lecture terminée.
- state
- Object
Objet fourni par l’utilisateur qui distingue cette demande de lecture asynchrone particulière d’autres requêtes.
Retours
Objet qui représente la lecture asynchrone, qui peut toujours être en attente.
Exceptions
buffer a la valeur null.
offset ou count est négatif.
Tentative de lecture asynchrone au-delà de la fin 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 versions antérieures, vous devez utiliser des méthodes telles que BeginRead et EndRead 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 les opérations de fichier asynchrones.
EndWrite doit être appelé exactement une fois pour chaque appel à BeginRead. L’échec de la fin d’un processus de lecture avant de commencer une autre lecture peut entraîner un comportement indésirable tel que l’interblocage.
Note
Utilisez la CanRead propriété pour déterminer si l’instance actuelle prend en charge la lecture.
EndRead doit être appelé avec cela IAsyncResult pour savoir combien d’octets ont été lus.