Language

BufferedStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) メソッド

定義

非同期読み取り操作を開始します。 (代わりに ReadAsync(Byte[], Int32, Int32, CancellationToken) を使用することを検討してください)。

public:
 override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ callback, System::Object ^ state);
public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback? callback, object? state);
public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback callback, object state);
public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback callback, object? state);
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginRead (buffer As Byte(), offset As Integer, count As Integer, callback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

buffer
Byte[]

データを読み取るバッファー。

offset
Int32

ストリームから読み取られたデータの書き込みを開始する buffer のバイト オフセット。

count
Int32

読み取る最大バイト数。

callback
AsyncCallback

読み取りが完了したときに呼び出される、省略可能な非同期コールバック。

state
Object

この特定の非同期読み取り要求を他の要求と区別するユーザー指定のオブジェクト。

返品

非同期読み取りを表すオブジェクト。まだ保留中である可能性があります。

例外

buffer は nullです。

offset または count が負の値です。

ストリームの末尾を超えて非同期読み取りを試行しました。

バッファーの長さから offset を引いた値は、count未満です。

現在のストリームは読み取り操作をサポートしていません。

注釈

.NET Framework 4 以前のバージョンでは、 BeginRead や EndRead などのメソッドを使用して非同期ファイル操作を実装する必要があります。 これらのメソッドは、レガシ コードをサポートするために .NET Framework 4.5 で引き続き使用できます。ただし、 ReadAsync、 WriteAsync、 FlushAsyncなどの新しい非同期メソッドは、非同期ファイル操作をより簡単に実装するのに役立ちます。

EndWrite は、 BeginReadの呼び出しごとに 1 回だけ呼び出す必要があります。 別の読み取りを開始する前に読み取りプロセスを終了しないと、デッドロックなどの望ましくない動作が発生する可能性があります。

Note

現在のインスタンスが読み取りをサポートしているかどうかを判断するには、 CanRead プロパティを使用します。

EndRead 読み取られたバイト数を調べるには、この IAsyncResult で呼び出す必要があります。

適用対象