BufferedStream.ReadAsync(Byte[], Int32, Int32, CancellationToken) 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.
Lit de façon asynchrone une séquence d’octets à partir du flux actuel, avance la position dans le flux en fonction du nombre d’octets lus et surveille les demandes d’annulation.
public:
override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
Public Overrides Function ReadAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task(Of Integer)
Paramètres
- buffer
- Byte[]
Mémoire tampon dans laquelle écrire les données.
- offset
- Int32
Décalage d’octet dans buffer lequel commencer l’écriture de données à partir du flux.
- count
- Int32
Nombre maximal d’octets à lire.
- cancellationToken
- CancellationToken
Jeton à surveiller pour les demandes d’annulation.
Retours
Tâche qui représente l’opération de lecture asynchrone. La tâche retournée contient le nombre total d’octets lus dans la mémoire tampon. La valeur de résultat peut être inférieure au nombre d’octets demandé si le nombre d’octets actuellement disponibles est inférieur au nombre demandé, ou il peut être égal à 0 (zéro) si la fin du flux a été atteinte.
Exceptions
buffer a la valeur null.
offset ou count est négatif.
La somme et offsetcount est supérieure à la longueur de la mémoire tampon.
Le flux ne prend pas en charge la lecture.
Le flux a été supprimé.
Le flux est actuellement utilisé par une opération de lecture précédente.
Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.
Remarques
Vous pouvez créer un jeton d’annulation en créant une instance de la CancellationTokenSource classe et en transmettant la Token propriété en tant que cancellationToken paramètre.
Cette méthode stocke dans la tâche toutes les exceptions non-utilisation que l’équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception est levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de façon synchrone. Pour les exceptions stockées, consultez les exceptions levées par Read(Byte[], Int32, Int32).