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

Definicja

Rozpoczyna asynchroniczną operację zapisu. (Rozważ użycie WriteAsync(Byte[], Int32, Int32, CancellationToken) zamiast tego).

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[]

Bufor zawierający dane do zapisu w bieżącym strumieniu.

offset
Int32

Przesunięcie bajtów na podstawie zera, w buffer którym należy rozpocząć kopiowanie bajtów do bieżącego strumienia.

count
Int32

Maksymalna liczba bajtów do zapisu.

callback
AsyncCallback

Metoda, która ma zostać wywołana po zakończeniu asynchronicznej operacji zapisu.

state
Object

Obiekt dostarczony przez użytkownika, który odróżnia to konkretne asynchroniczne żądanie zapisu od innych żądań.

Zwraca

IAsyncResult

Obiekt, który odwołuje się do asynchronicznego zapisu, który nadal może być oczekujący.

Wyjątki

buffer długość minus offset jest mniejsza niż count.

buffer to null.

offset lub count jest ujemny.

Strumień nie obsługuje zapisywania.

Uwagi

W .NET Framework 4 i starszych wersjach należy użyć metod, takich jak BeginWrite iEndWrite, aby zaimplementować asynchroniczne operacje na plikach. Te metody są nadal dostępne w .NET Framework 4.5 do obsługi starszego kodu, jednak nowe metody asynchroniczne, takie jak ReadAsync, WriteAsynci FlushAsync, ułatwiają implementowanie asynchronicznych operacji na plikach.

EndWrite musi być wywoływana dokładnie raz na każdym IAsyncResult z BeginWrite. EndWrite operacja we/wy zostanie zablokowana do momentu zakończenia operacji we/wy.

Dotyczy