GZipStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
非同期の読み込み動作を開始します。 (代わりに、ReadAsync(Byte[], Int32, Int32) メソッドの使用を検討します)。
public:
override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ array, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public:
override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public override IAsyncResult BeginRead (byte[] array, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginRead (byte[] array, int offset, int count, AsyncCallback asyncCallback, object asyncState);
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginRead (array As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Public Overrides Function BeginRead (buffer As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
パラメーター
- arraybuffer
- Byte[]
データを読み取るバイト配列。
- offset
- Int32
ストリームからのデータの読み取りを開始するバイト オフセット。
- count
- Int32
読み取る最大バイト数。
- asyncCallback
- AsyncCallback
読み取り操作の完了時に呼び出されるオプションの非同期コールバック。
- asyncState
- Object
この特定の非同期読み取り要求を他の要求と区別するために使用するユーザー指定のオブジェクト。
戻り値
まだ保留中である可能性がある非同期の読み取り操作を表すオブジェクト。
例外
メソッドは、ストリームの末尾を越えて非同期的に読み取ろうとしました。または、ディスク エラーが発生しました。
1 つ以上の引数が無効です。
ストリームが閉じた後でメソッドが呼び出されました。
現在の GZipStream 実装は、読み取り操作をサポートしていません。
ストリームが閉じているため、読み取り操作を実行できません。
注釈
重要
.NET 6 以降では、このメソッドは要求されたバイト数を読み取らない場合があります。 詳細については、「 DeflateStream、GZipStream、CryptoStream の部分読み取りと 0 バイト読み取り」を参照してください。
.NET Framework 4.5 以降では、 メソッドを使用して非同期読み取り操作をStream.ReadAsync実行できます。 このメソッドは BeginRead 、レガシ コードをサポートするために現在のバージョンでも使用できますが、新しい非同期メソッドを使用すると、非同期 I/O 操作をより簡単に実装できます。 詳細については、「 非同期ファイル I/O」を参照してください。
ストリームの IAsyncResult メソッドに戻り値を EndRead 渡して、読み取られたバイト数を確認し、読み取りに使用されるオペレーティング システム リソースを解放します。 これを行うには、 を呼び出 BeginRead したコードと同じコードを使用するか、 に渡されたコールバックで実行 BeginReadします。
ストリーム内の現在の位置は、I/O 操作が完了したときではなく、非同期の読み取りまたは書き込みが発行されるときに更新されます。
複数の同時非同期要求では、要求の完了順序が不明になります。
プロパティを使用して、 CanRead 現在 GZipStream のオブジェクトが読み取りをサポートしているかどうかを判断します。
ストリームが閉じているか、無効な引数を渡すと、 から BeginReadすぐに例外がスローされます。 非同期読み取り要求中に発生するエラー (I/O 要求中のディスク障害など) は、スレッド プール スレッドで発生し、 を呼び出 EndReadすときに例外をスローします。
適用対象
.NET