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

Definicja

Rozpoczyna operację zapisu asynchronicznego. (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 rozpocznie się 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 operacji zapisu asynchronicznego.

state
Object

Obiekt udostępniony przez użytkownika, który rozróżnia to konkretne asynchroniczne żądanie zapisu z innych żądań.

Zwraca

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żywać metod, takich jak BeginWrite i EndWrite do implementowania asynchronicznych operacji plików. 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 operacji asynchronicznych.

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

Dotyczy