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

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

戻り値

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

例外

buffernullです。

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

ストリームの末尾を越える位置で非同期読み取りを実行しようとしました。

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

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

注釈

.NET Framework 4 以前のバージョンでは、 や などのBeginReadEndReadメソッドを使用して非同期ファイル操作を実装する必要があります。 これらのメソッドは、従来のコードをサポートするために .NET Framework 4.5 で引き続き使用できますが、 などのReadAsyncWriteAsyncFlushAsync新しい非同期メソッドを使用すると、非同期ファイル操作をより簡単に実装できます。

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

注意

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

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

適用対象