DeflateStream.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í.
Zahájí asynchronní operaci zápisu. (Místo toho zvažte použití WriteAsync(Byte[], Int32, Int32) metody.)
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ array, int offset, int count, AsyncCallback ^ asyncCallback, System::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);
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 (buffer As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Public Overrides Function BeginWrite (array As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Parametry
- arraybuffer
- Byte[]
Vyrovnávací paměť pro zápis dat z.
- offset
- Int32
Posun bajtů, ze které začnete psát.
- count
- Int32
Maximální počet bajtů k zápisu.
- asyncCallback
- AsyncCallback
Volitelné asynchronní zpětné volání, které se má volat při dokončení operace zápisu.
- asyncState
- Object
Objekt poskytovaný uživatelem, který rozlišuje tento konkrétní asynchronní požadavek zápisu od jiných požadavků.
Návraty
Objekt, který představuje asynchronní operaci zápisu, která může být stále čekající.
Výjimky
Metoda se pokusila zapisovat asynchronně za konec datového proudu nebo došlo k chybě disku.
Jeden nebo více argumentů je neplatné.
Metody byly volány po zavření datového proudu.
Aktuální DeflateStream implementace nepodporuje operaci zápisu.
Operaci zápisu nelze provést, protože je datový proud zavřený.
Poznámky
Počínaje rozhraním .NET Framework 4.5 můžete pomocí metody provádět asynchronní operace zápisu WriteAsync . Metoda BeginWrite je stále k dispozici v aktuálních verzích pro podporu staršího kódu. Asynchronní vstupně-výstupní operace však můžete snadněji implementovat pomocí nových asynchronních metod. Další informace naleznete v tématu Asynchronní vstupně-výstupní operace souboru.
IAsyncResult Předejte objekt vrácený aktuální metodou, aby EndWrite se zajistilo, že zápis dokončí a uvolní prostředky odpovídajícím způsobem. Můžete to provést buď pomocí stejného kódu, který volal BeginWrite , nebo v zpětném volání předané BeginWrite. Pokud během asynchronní operace zápisu dojde k chybě, nebude vyvolána výjimka, dokud EndWrite nebude volána s IAsyncResult vrácenou touto metodou.
Pokud je datový proud zapisovatelný, zápis na konci datového proudu tento datový proud rozbalí.
Aktuální pozice ve streamu se aktualizuje, když vydáte asynchronní operaci čtení nebo zápisu, ne po dokončení vstupně-výstupní operace. Více souběžných asynchronních požadavků vykreslí pořadí dokončení požadavku nejistě.
CanWrite Pomocí vlastnosti určete, zda aktuální DeflateStream objekt podporuje zápis.
Pokud je datový proud uzavřen nebo předáte neplatný argument, výjimky jsou vyvolány okamžitě 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, dochází ve vlákně fondu vláken a při volání EndWritevyvolá výjimku .