PipeStream.EndRead(IAsyncResult) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
结束挂起的异步读取请求。
public:
override int EndRead(IAsyncResult ^ asyncResult);
public override int EndRead (IAsyncResult asyncResult);
[System.Security.SecurityCritical]
public override int EndRead (IAsyncResult asyncResult);
override this.EndRead : IAsyncResult -> int
[<System.Security.SecurityCritical>]
override this.EndRead : IAsyncResult -> int
Public Overrides Function EndRead (asyncResult As IAsyncResult) As Integer
参数
- asyncResult
- IAsyncResult
对挂起的异步请求的引用。
返回
已读取的字节数。 返回值 0 指示已到达流的末尾(管道已关闭)。
- 属性
例外
asyncResult
为 null
。
asyncResult
不源于当前流的 BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) 方法。
流已关闭或出现了内部错误。
注解
此方法返回读取到之前对 的调用 BeginRead所指定的字节数组的字节数。
将返回 IAsyncResult 的对象传递给 EndRead 方法,以确定读取的字节数并释放用于读取的操作系统资源。 EndRead 每次调用 BeginRead都必须调用一次。 这可以在调用 BeginRead 的同一代码中完成,也可以在传递给 BeginRead的回调中完成。
CanRead使用 属性可确定当前PipeStream对象是否支持读取操作。
如果关闭管道或将无效参数传递给 BeginRead,则会立即引发相应的异常。 异步读取请求期间发生的错误发生在正在执行请求的线程池线程上。 代码调用 方法时会 EndRead 引发异常。