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í.
Spustí asynchronní operaci zápisu. (Zvažte místo toho použití WriteAsync(Byte[], Int32, Int32) metody.)
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 ^ asyncCallback, System::Object ^ asyncState);
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? 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 (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, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Parametry
- arraybuffer
- Byte[]
Vyrovnávací paměť pro zápis dat.
- offset
- Int32
Odsazení bajtů, ze které se má začít psát.
- count
- Int32
Maximální počet bajtů k zápisu.
- asyncCallback
- AsyncCallback
Volitelné asynchronní zpětné volání, které se má volat po dokončení operace zápisu.
- asyncState
- Object
Objekt zadaný uživatelem, který odlišuje tento konkrétní asynchronní požadavek na zápis od jiných požadavků.
Návraty
Objekt, který představuje asynchronní operaci zápisu, která může být stále čeká na vyřízení.
Výjimky
Metoda se pokusila zapisovat asynchronně za koncem 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í DeflateStream implementace nepodporuje operaci zápisu.
Operaci zápisu nelze provést, protože datový proud je uzavřen.
Poznámky
Počínaje rozhraním .NET Framework 4.5 můžete provádět asynchronní operace zápisu WriteAsync pomocí metody . Metoda BeginWrite je stále k dispozici v aktuálních verzích pro podporu staršího kódu. Asynchronní vstupně-výstupní operace ale můžete snadněji implementovat pomocí nových asynchronních metod. Další informace najdete v tématu Asynchronní vstupně-výstupní operace souborů.
Předejte IAsyncResult objekt vrácený aktuální metodou do EndWrite , aby 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 ve zpětném volání předaném do BeginWrite. Pokud dojde k chybě během asynchronní operace 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í operace č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, zda aktuální DeflateStream objekt 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í EndWritevyvolání výjimek .