BufferedStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Metoda

Definice

Zahájí asynchronní operaci zápisu. (Místo toho zvažte použití WriteAsync(Byte[], Int32, Int32, CancellationToken) .)

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);
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ěť obsahující data pro zápis do aktuálního datového proudu.

offset
Int32

Posun bajtů založený na nule, při buffer kterém se mají začít kopírovat bajty do aktuálního datového proudu.

count
Int32

Maximální počet bajtů k zápisu.

callback
AsyncCallback

Metoda, která se má volat při dokončení asynchronní operace zápisu.

state
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ý odkazuje na asynchronní zápis, který může být stále čekající.

Výjimky

buffer délka minus offset je menší než count.

buffer je null.

offset nebo count je negativní.

Stream nepodporuje zápis.

Poznámky

V rozhraní .NET Framework 4 a starších verzích musíte použít metody, jako BeginWrite je a EndWrite implementovat asynchronní operace se soubory. Tyto metody jsou stále k dispozici v rozhraní .NET Framework 4.5 pro podporu staršího kódu; Nové asynchronní metody, jako ReadAsyncje například , WriteAsynca FlushAsync, však pomáhají implementovat asynchronní operace se soubory snadněji.

EndWrite musí být volána přesně jednou na každém IAsyncResult z BeginWrite. EndWrite bude blokovat, dokud se nedokončí vstupně-výstupní operace.

Platí pro