CryptoStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Spustí asynchronní operaci zápisu. (Zvažte místo toho použití 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
Parametry
- buffer
- Byte[]
Vyrovnávací paměť pro zápis dat.
- offset
- Int32
Odsazení buffer
bajtů, ze kterého se má začít psát.
- count
- Int32
Maximální počet bajtů k zápisu.
- callback
- AsyncCallback
Volitelné asynchronní zpětné volání, které se má volat po dokončení zápisu.
- state
- Object
Objekt zadaný uživatelem, který odlišuje tento konkrétní asynchronní požadavek na zápis od jiných požadavků.
Návraty
Jedná IAsyncResult
se o asynchronní zápis, který může být stále čeká na vyřízení.
Výjimky
Došlo k pokusu o asynchronní zápis za konec datového proudu nebo došlo k chybě disku.
Nejméně jeden argument je neplatný.
Metody byly volány po zavření datového proudu.
Aktuální Stream
implementace nepodporuje operaci zápisu.
Poznámky
V rozhraní .NET Framework 4 a starších verzích musíte k implementaci asynchronních vstupně-výstupních operací použít metody, jako BeginWrite jsou a EndWrite . Tyto metody jsou stále k dispozici v aktuálních verzích pro podporu staršího kódu; Nové asynchronní metody, jako ReadAsyncjsou , WriteAsyncCopyToAsync, a FlushAsync, však pomáhají snadněji implementovat asynchronní vstupně-výstupní operace.
IAsyncResult
Předejte vrácené aktuální metodou doEndWrite, abyste zajistili, že zápis správně dokončí a uvolní prostředky. EndWrite musí být volána jednou pro každé volání do BeginWrite. Můžete to provést buď pomocí stejného kódu, který volal BeginWrite
, nebo ve zpětném volání předaném do BeginWrite
. Pokud dojde k chybě během asynchronního zápisu, nebude vyvolána výjimka, dokud EndWrite
není volána s IAsyncResult
vrácenou touto metodou.
Pokud je datový proud zapisovatelný, zápis na konec streamu datový proud rozbalí.
Aktuální pozice v datovém proudu se aktualizuje při spuštění asynchronního čtení nebo zápisu, nikoli při dokončení vstupně-výstupní operace. Několik souběžných asynchronních požadavků činí pořadí dokončení požadavků nejistým.
CanWrite Pomocí vlastnosti určete, jestli aktuální instance podporuje zápis.
Pokud je datový proud zavřený nebo předáte neplatný argument, jsou okamžitě vyvolány výjimky z BeginWrite
. Chyby, ke kterým dochází během asynchronního požadavku na zápis, například selhání disku během V/V požadavku, se vyskytují ve vlákně fondu vláken a při volání EndWrite
vyvolání výjimek .
Platí pro
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro