Stream.EndWrite(IAsyncResult) メソッド

定義

非同期書き込み操作を終了します。Ends an asynchronous write operation. (代わりに、WriteAsync(Byte[], Int32, Int32) の使用を検討してください。)(Consider using WriteAsync(Byte[], Int32, Int32) instead.)

public:
 virtual void EndWrite(IAsyncResult ^ asyncResult);
public virtual void EndWrite (IAsyncResult asyncResult);
abstract member EndWrite : IAsyncResult -> unit
override this.EndWrite : IAsyncResult -> unit
Public Overridable Sub EndWrite (asyncResult As IAsyncResult)

パラメーター

asyncResult
IAsyncResult

保留状態の非同期 I/O リクエストへの参照。A reference to the outstanding asynchronous I/O request.

例外

asyncResultnull です。asyncResult is null.

保留中の書き込み操作へのハンドルは使用できません。A handle to the pending write operation is not available.

または-or-

保留中の操作は書き込みをサポートしていません。The pending operation does not support writing.

asyncResult は現在のストリームの BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) メソッドから取得されませんでした。asyncResult did not originate from a BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) method on the current stream.

ストリームが閉じているか、内部エラーが発生しました。The stream is closed or an internal error has occurred.

注釈

.NET Framework 4 およびそれ以前のバージョンで非同期 I/O 操作を実装するには、 BeginWriteEndWrite などのメソッドを使用する必要があります。In the .NET Framework 4 and earlier versions, you have to use methods such as BeginWrite and EndWrite to implement asynchronous I/O operations. これらのメソッドは、レガシコードをサポートするために .NET Framework 4.5.NET Framework 4.5 で引き続き使用できます。ただし、ReadAsyncWriteAsyncCopyToAsyncFlushAsyncなどの新しい非同期メソッドを使用すると、非同期 i/o 操作をより簡単に実装できます。These methods are still available in the .NET Framework 4.5.NET Framework 4.5 to support legacy code; however, the new async methods, such as ReadAsync, WriteAsync, CopyToAsync, and FlushAsync, help you implement asynchronous I/O operations more easily.

EndWrite は、BeginWriteからのすべての IAsyncResult で1回だけ呼び出す必要があります。EndWrite must be called exactly once on every IAsyncResult from BeginWrite.

このメソッドは、I/O 操作が完了するまでブロックします。This method blocks until the I/O operation has completed. I/o 要求中のディスク障害など、非同期書き込み要求中に発生したエラーは、スレッドプールのスレッドで発生し、EndWriteの呼び出し時に表示されるようになります。Errors that occur during an asynchronous write request, such as a disk failure during the I/O request, occur on the thread pool thread and become visible upon a call to EndWrite. スレッドプールのスレッドによってスローされた例外は、EndWriteを呼び出すときに表示されません。Exceptions thrown by the thread pool thread will not be visible when calling EndWrite.

適用対象

こちらもご覧ください