Partager via


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

Définition

Débute une opération de lecture asynchrone.

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);
[System.Security.SecurityCritical]
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback callback, object state);
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
[<System.Security.SecurityCritical>]
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

Dans buffer, décalage d'octet auquel commencer la lecture.

count
Int32

Nombre maximal d'octets à lire.

callback
AsyncCallback

Méthode à appeler une fois l'opération de lecture asynchrone terminée.

state
Object

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

Retours

Objet IAsyncResult qui fait référence à la lecture asynchrone.

Attributs

Exceptions

buffer a la valeur null.

offset est inférieur à 0.

- ou -

count est inférieur à 0.

count est supérieur au nombre d’octets disponible dans buffer.

Le canal est fermé.

Le canal ne prend pas en charge les opérations de lecture.

Le canal est déconnecté, en attente de connexion ou le handle n’a pas été défini.

Le canal est endommagé ou une autre erreur d’E/S s’est produite.

Remarques

Passez l’objet retourné IAsyncResult à la méthode pour déterminer le EndRead nombre d’octets lus et libérer les ressources du système d’exploitation utilisées pour la lecture. EndRead doit être appelé une fois pour chaque appel à BeginRead. Cela peut être effectué dans le même code que celui qui a appelé BeginRead ou dans un rappel passé à BeginRead.

Utilisez la CanRead propriété pour déterminer si l’objet actuel PipeStream prend en charge les opérations de lecture.

Si le canal est fermé ou si un argument non valide est passé à BeginRead, les exceptions appropriées sont levées immédiatement. Des erreurs qui se produisent pendant une demande de lecture asynchrone se produisent sur le thread du pool de threads qui effectue la demande. Les exceptions sont levées lorsque le code appelle la EndRead méthode .

S’applique à