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

Definition

Beginnt einen asynchronen Schreibvorgang.Begins an asynchronous write operation. (Verwenden Sie stattdessen WriteAsync.)(Consider using WriteAsync instead.)

public:
 override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ callback, System::Object ^ state);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback callback, object state);
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginWrite (buffer As Byte(), offset As Integer, count As Integer, callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

buffer
Byte[]

Der Puffer, aus dem Daten geschrieben werden sollen.The buffer to write data from.

offset
Int32 Int32 Int32 Int32

Der Byteoffset im buffer, ab dem geschrieben werden soll.The byte offset in buffer from which to begin writing.

count
Int32 Int32 Int32 Int32

Die maximale Anzahl der zu schreibenden Bytes.The maximum number of bytes to write.

callback
AsyncCallback AsyncCallback AsyncCallback AsyncCallback

Ein optionaler asynchroner Rückruf, der nach Abschluss des Schreibvorgangs aufgerufen wird.An optional asynchronous callback, to be called when the write is complete.

state
Object Object Object Object

Ein vom Benutzer bereitgestelltes Objekt, das diese asynchrone Schreibanforderung von anderen Anforderungen unterscheidet.A user-provided object that distinguishes this particular asynchronous write request from other requests.

Gibt zurück

Ein IAsyncResult, das den asynchronen Schreibvorgang darstellt, der möglicherweise noch aussteht.An IAsyncResult that represents the asynchronous write, which could still be pending.

Ausnahmen

Es wurde versucht, einen asynchronen Schreibvorgang über das Ende des Streams hinaus durchzuführen, oder es ist ein Datenträgerfehler aufgetreten.Attempted an asynchronous write past the end of the stream, or a disk error occurred.

Mindestens eines der Argumente ist ungültig.One or more of the arguments is invalid.

Es wurden Methoden aufgerufen, nachdem der Stream geschlossen wurde.Methods were called after the stream was closed.

Die aktuelle Stream-Implementierung unterstützt den Schreibvorgang nicht.The current Stream implementation does not support the write operation.

Hinweise

In .NET Framework 4 und vorherigen Versionen müssen Sie Methoden wie BeginWrite und EndWrite verwenden, um asynchrone E/A-Vorgänge zu implementieren.In the .NET Framework 4 and earlier versions, you have to use methods such as BeginWrite and EndWrite to implement asynchronous I/O operations. Diese Methoden sind weiterhin in .net verfügbar, um Legacy Code zu unterstützen. die neuen ReadAsyncAsync-Methoden, wie z. b., WriteAsync, FlushAsync CopyToAsyncund, unterstützen Sie jedoch bei der einfacheren Implementierung asynchroner e/a-Vorgänge.These methods are still available in .NET to support legacy code; however, the new async methods, such as ReadAsync, WriteAsync, CopyToAsync, and FlushAsync, help you implement asynchronous I/O operations more easily.

Übergeben Sie IAsyncResult den von der aktuellen Methode zurück EndWrite gegebenen an, um sicherzustellen, dass der Schreibvorgang abgeschlossen ist und Ressourcen entsprechend freigibt.Pass the IAsyncResult returned by the current method to EndWrite to ensure that the write completes and frees resources appropriately. EndWritemuss für jeden Aufruf von BeginWriteeinmal aufgerufen werden.EndWrite must be called once for every call to BeginWrite. Hierfür können Sie den gleichen Code verwenden, der oder in einem BeginWrite Rückruf aufgerufen hat, der an BeginWriteübermittelt wurde.You can do this either by using the same code that called BeginWrite or in a callback passed to BeginWrite. Wenn ein Fehler während eines asynchronen Schreibzugriffs auftritt, wird keine Ausnahme ausgelöst, solange EndWrite nicht mit der IAsyncResult von dieser Methode zurückgegebenen aufgerufen wird.If an error occurs during an asynchronous write, an exception will not be thrown until EndWrite is called with the IAsyncResult returned by this method.

Wenn ein Datenstrom beschreibbar ist, wird der Stream durch Schreiben am Ende des Streams erweitert.If a stream is writable, writing at the end of the stream expands the stream.

Die aktuelle Position im Stream wird aktualisiert, wenn Sie den asynchronen Lese-oder Schreibvorgang ausgeben, nicht, wenn der e/a-Vorgang abgeschlossen ist.The current position in the stream is updated when you issue the asynchronous read or write, not when the I/O operation completes. Durch mehrere gleichzeitige asynchrone Anforderungen wird die Reihenfolge der Anforderungs Vervollständigung unsicher.Multiple simultaneous asynchronous requests render the request completion order uncertain.

Verwenden Sie CanWrite die-Eigenschaft, um zu bestimmen, ob die aktuelle Instanz Schreibvorgänge unterstütztUse the CanWrite property to determine whether the current instance supports writing.

Wenn ein Stream geschlossen wird oder Sie ein ungültiges Argument übergeben, werden Ausnahmen sofort von BeginWriteausgelöst.If a stream is closed or you pass an invalid argument, exceptions are thrown immediately from BeginWrite. Fehler, die während einer asynchronen Schreib Anforderung auftreten, z. b. ein Datenträger Fehler während der e/a-Anforderung, treten im Thread Pool Thread auf EndWriteund lösen Ausnahmen aus, wenn aufgerufen wird.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.

Gilt für: