DeflateStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Method

Definition

Commence une opération d'écriture asynchrone.Begins an asynchronous write operation. (Utilisez la méthode WriteAsync(Byte[], Int32, Int32) à la place.)(Consider using the WriteAsync(Byte[], Int32, Int32) method instead.)

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 ^ cback, System::Object ^ state);
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 cback, object state);
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, cback As AsyncCallback, state As Object) As IAsyncResult

Parameters

arraybuffer
Byte[]

Mémoire tampon à partir de laquelle les données sont écrites.The buffer to write data from.

offset
Int32

Dans buffer, décalage d'octet à partir duquel commencer l'écriture.The byte offset in buffer to begin writing from.

count
Int32

Nombre maximal d'octets à écrire.The maximum number of bytes to write.

asyncCallbackcback
AsyncCallback

Rappel asynchrone facultatif à appeler lorsque l'opération d'écriture est terminée.An optional asynchronous callback, to be called when the write operation is complete.

asyncStatestate
Object

Objet fourni par l'utilisateur qui distingue cette demande d'écriture asynchrone particulière d'autres demandes.A user-provided object that distinguishes this particular asynchronous write request from other requests.

Returns

IAsyncResult

Objet représentant l'écriture asynchrone qui pourrait toujours être en attente.An object that represents the asynchronous write operation, which could still be pending.

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.The method tried to write asynchronously past the end of the stream, or a disk error occurred.

Un ou plusieurs arguments ne sont pas valides.One or more of the arguments is invalid.

Des méthodes ont été appelées après la fermeture du flux.Methods were called after the stream was closed.

L’implémentation du DeflateStream en cours ne prend pas en charge l’opération d’écriture.The current DeflateStream implementation does not support the write operation.

L’opération d’écriture ne peut pas être exécutée car le flux est fermé.The write operation cannot be performed because the stream is closed.

Remarks

À partir de la .NET Framework 4.5.NET Framework 4.5, vous pouvez effectuer des opérations d’écriture asynchrones à l’aide de la méthode WriteAsync.Starting with the .NET Framework 4.5.NET Framework 4.5, you can perform asynchronous write operations by using the WriteAsync method. La méthode BeginWrite est toujours disponible dans le .NET Framework 4.5.NET Framework 4.5 pour prendre en charge le code hérité ; Toutefois, vous pouvez implémenter des opérations d’e/s asynchrones plus facilement à l’aide des nouvelles méthodes Async.The BeginWrite method is still available in the .NET Framework 4.5.NET Framework 4.5 to support legacy code; however, you can implement asynchronous I/O operations more easily by using the new async methods. Pour plus d'informations, consultez E/S de fichier asynchrone.For more information, see Asynchronous File I/O.

Transmettez l’objet IAsyncResult retourné par la méthode actuelle à EndWrite pour vous assurer que l’écriture se termine et libère les ressources de manière appropriée.Pass the IAsyncResult object returned by the current method to EndWrite to ensure that the write completes and frees resources appropriately. Pour ce faire, vous pouvez utiliser le même code que celui qui a appelé BeginWrite ou dans un rappel passé à BeginWrite.You can do this either by using the same code that called BeginWrite or in a callback passed to BeginWrite. Si une erreur se produit pendant une opération d’écriture asynchrone, une exception n’est pas levée tant que EndWrite n’est pas appelé avec la IAsyncResult retournée par cette méthode.If an error occurs during an asynchronous write operation, an exception will not be thrown until EndWrite is called with the IAsyncResult returned by this method.

Si un flux est accessible en écriture, l’écriture à la fin du flux étend le flux.If a stream is writable, writing at the end of the stream expands the stream.

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.The current position in the stream is updated when you issue the asynchronous read or write operation, not when the I/O operation completes. Plusieurs demandes asynchrones simultanées rendent l’ordre d’achèvement des demandes incertain.Multiple simultaneous asynchronous requests render the request completion order uncertain.

Utilisez la propriété CanWrite pour déterminer si l’objet DeflateStream en cours prend en charge l’écriture.Use the CanWrite property to determine whether the current DeflateStream object supports writing.

Si un flux est fermé ou si vous transmettez un argument non valide, les exceptions sont immédiatement levées à partir de BeginWrite.If a stream is closed or you pass an invalid argument, exceptions are thrown immediately from BeginWrite. Les erreurs qui se produisent pendant une requête d’écriture asynchrone, telles qu’une défaillance du disque pendant la requête d’e/s, se produisent sur le thread du pool de threads et lèvent des exceptions lors de l’appel de EndWrite.Errors that occur during an asynchronous write request, such as a disk failure during the I/O request, occur on the thread pool thread and throw exceptions when calling EndWrite.

Applies to