CryptoStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Metódus

Definíció

Aszinkron írási műveletet kezd. (Fontolja meg a használatot WriteAsync .)

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);
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

Paraméterek

buffer
Byte[]

A puffer, amelyből adatokat írhat.

offset
Int32

A bájt eltolása buffer , amelyből az írás elkezdhető.

count
Int32

Az írható bájtok maximális száma.

callback
AsyncCallback

Opcionális aszinkron visszahívás, amelyet az írás befejezésekor kell meghívni.

state
Object

Felhasználó által megadott objektum, amely megkülönbözteti ezt az aszinkron írási kérést más kérésektől.

Válaszok

Az IAsyncResult aszinkron írást jelképező írás, amely továbbra is függőben lehet.

Kivételek

Aszinkron írást kísérelt meg a stream vége után, vagy lemezhiba történt.

Egy vagy több argumentum érvénytelen.

A metódusok a stream bezárása után lettek meghívva.

A jelenlegi Stream implementáció nem támogatja az írási műveletet.

Megjegyzések

A .NET-keretrendszer 4- és korábbi verzióiban olyan módszereket kell használnia, mint például BeginWriteEndWrite az aszinkron I/O-műveletek implementálása. Ezek a módszerek továbbra is elérhetők a jelenlegi verziókban az örökölt kód támogatásához; Azonban az új aszinkron metódusok, például ReadAsynca , WriteAsync, CopyToAsyncés FlushAsync, könnyebben implementálják az aszinkron I/O-műveleteket.

Adja át az IAsyncResult aktuális metódus által visszaadott adatokat EndWrite , hogy az írás megfelelően befejeződjön és felszabadítsa az erőforrásokat. EndWriteminden híváshoz egyszer kell meghívni.BeginWrite Ezt megteheti ugyanazzal a kóddal, amely a hívott BeginWrite vagy a visszahívást továbbította BeginWrite. Ha hiba történik az aszinkron írás során, a rendszer csak akkor küld kivételt, ha EndWrite a metódus által visszaadott metódussal meghívja.IAsyncResult

Ha egy stream írható, a stream végén lévő írás kiterjeszti a streamet.

A stream aktuális pozíciója frissül, ha az aszinkron olvasást vagy írást ad ki, nem pedig az I/O-művelet befejeződésekor. Több egyidejű aszinkron kérés bizonytalanná teszi a kérés teljesítésének sorrendjét.

CanWrite A tulajdonság használatával állapítsa meg, hogy az aktuális példány támogatja-e az írást.

Ha egy stream le van zárva, vagy érvénytelen argumentumot ad át, a kivételek azonnal ki lesznek dobva a rendszerből BeginWrite. Az aszinkron írási kérelem során fellépő hibák ( például lemezhiba az I/O-kérés során) a szálkészlet szálán fordulnak elő, és kivételeket jeleznek híváskor EndWrite.

A következőre érvényes: