DeflateStream.BeginWrite(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 d'écriture asynchrone. (Utilisez la méthode WriteAsync(Byte[], Int32, Int32) à la place.)
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ array, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public override IAsyncResult BeginWrite (byte[] array, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginWrite (byte[] array, int offset, int count, AsyncCallback asyncCallback, object asyncState);
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginWrite (array As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Public Overrides Function BeginWrite (buffer As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Paramètres
- arraybuffer
- Byte[]
Mémoire tampon dont sont issues les données à écrire.
- offset
- Int32
Décalage d’octet à partir duquel commencer l’écriture.
- count
- Int32
Nombre maximal d'octets à écrire.
- asyncCallback
- AsyncCallback
Rappel asynchrone facultatif à appeler lorsque l'opération d'écriture est terminée.
- asyncState
- Object
Objet fourni par l'utilisateur qui distingue cette requête d'écriture asynchrone des autres requêtes.
Retours
Objet représentant l'écriture asynchrone qui pourrait toujours être en attente.
Exceptions
La méthode a essayé d'écrire de façon asynchrone au delà de la fin du flux de données, ou une erreur disque s'est produite.
Un ou plusieurs arguments ne sont pas valides.
Des méthodes ont été appelées après la fermeture du flux.
L’implémentation du DeflateStream en cours ne prend pas en charge l’opération d’écriture.
L’opération d’écriture ne peut pas être exécutée car le flux est fermé.
Remarques
À partir de .NET Framework 4.5, vous pouvez effectuer des opérations d’écriture asynchrones à l’aide de la WriteAsync méthode . La BeginWrite méthode est toujours disponible dans les versions actuelles pour prendre en charge le code hérité. Toutefois, vous pouvez implémenter plus facilement des opérations d’E/S asynchrones à l’aide des nouvelles méthodes asynchrones. Pour plus d'informations, consultez E/S de fichier asynchrone.
Transmettez l’objet IAsyncResult retourné par la méthode actuelle à pour EndWrite vous assurer que l’écriture termine et libère les ressources de manière appropriée. Pour ce faire, utilisez le même code que celui qui a appelé BeginWrite ou dans un rappel passé à BeginWrite. Si une erreur se produit lors d’une opération d’écriture asynchrone, une exception n’est levée qu’après EndWrite avoir été appelée avec le IAsyncResult retourné par cette méthode.
Si un flux est accessible en écriture, l’écriture à la fin du flux développe le flux.
La position actuelle dans le flux est mise à jour lorsque vous émettez l’opération de lecture ou d’écriture asynchrone, et non lorsque l’opération d’E/S se termine. Plusieurs requêtes asynchrones simultanées rendent l’ordre d’achèvement de la demande incertain.
Utilisez la CanWrite propriété pour déterminer si l’objet actuel DeflateStream prend en charge l’écriture.
Si un flux est fermé ou si vous passez un argument non valide, des exceptions sont levées immédiatement à partir de BeginWrite. Les erreurs qui se produisent lors d’une demande d’écriture asynchrone, telles qu’une défaillance de disque pendant la demande d’E/S, se produisent sur le thread du pool de threads et lèvent des exceptions lors de l’appel EndWritede .