DeflateStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt een asynchrone schrijfbewerking gestart. (Overweeg in plaats daarvan de WriteAsync(Byte[], Int32, Int32) methode te gebruiken.)
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ array, int offset, int count, AsyncCallback ^ asyncCallback, System::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
Public Overrides Function BeginWrite (array As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Parameters
- arraybuffer
- Byte[]
De buffer waaruit gegevens moeten worden geschreven.
- offset
- Int32
De byte-offset waaruit moet worden geschreven.
- count
- Int32
Het maximum aantal bytes dat moet worden geschreven.
- asyncCallback
- AsyncCallback
Een optionele asynchrone callback die moet worden aangeroepen wanneer de schrijfbewerking is voltooid.
- asyncState
- Object
Een door de gebruiker verstrekt object dat deze specifieke asynchrone schrijfaanvraag onderscheidt van andere aanvragen.
Retouren
Een object dat de asynchrone schrijfbewerking vertegenwoordigt, die nog in behandeling kan zijn.
Uitzonderingen
De methode heeft geprobeerd asynchroon achter het einde van de stream te schrijven of er is een schijffout opgetreden.
Een of meer argumenten zijn ongeldig.
Methoden werden aangeroepen nadat de stream is gesloten.
De huidige DeflateStream implementatie biedt geen ondersteuning voor de schrijfbewerking.
De schrijfbewerking kan niet worden uitgevoerd omdat de stream is gesloten.
Opmerkingen
Vanaf .NET Framework 4.5 kunt u asynchrone schrijfbewerkingen uitvoeren met behulp van de methode WriteAsync. De BeginWrite methode is nog steeds beschikbaar in de huidige versies ter ondersteuning van verouderde code. U kunt echter eenvoudiger asynchrone I/O-bewerkingen implementeren met behulp van de nieuwe asynchrone methoden. Zie Asynchrone bestands-I/O voor meer informatie.
Geef het IAsyncResult object door dat door de huidige methode wordt geretourneerd om ervoor te EndWrite zorgen dat de schrijfbewerking is voltooid en resources op de juiste manier vrijkomt. U kunt dit doen met behulp van dezelfde code die wordt aangeroepen BeginWrite of in een callback die is doorgegeven aan BeginWrite. Als er een fout optreedt tijdens een asynchrone schrijfbewerking, wordt er pas een uitzondering gegenereerd wanneer EndWrite deze wordt aangeroepen met de IAsyncResult geretourneerde methode.
Als een stream schrijfbaar is, wordt de stream uitgebreid door aan het einde van de stroom te schrijven.
De huidige positie in de stream wordt bijgewerkt wanneer u de asynchrone lees- of schrijfbewerking geeft, niet wanneer de I/O-bewerking is voltooid. Meerdere gelijktijdige asynchrone aanvragen zorgen ervoor dat de voltooiingsvolgorde van de aanvraag onzeker is.
Gebruik de CanWrite eigenschap om te bepalen of het huidige DeflateStream object schrijffuncties ondersteunt.
Als een stream is gesloten of u een ongeldig argument doorgeeft, worden er direct uitzonderingen gegenereerd.BeginWrite Fouten die optreden tijdens een asynchrone schrijfaanvraag, zoals een schijffout tijdens de I/O-aanvraag, treden op in de thread van de thread van de threadgroep en genereren uitzonderingen bij het aanroepen EndWrite.