PipeStream.EndRead(IAsyncResult) 方法

定義

結束擱置的非同步讀取要求。

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 表示資料流末端 (管道已經關閉)。

屬性

例外狀況

asyncResultnull

asyncResult 不是來自目前資料流的 BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) 方法。

資料流已關閉或發生內部錯誤。

備註

此方法返回先前調用BeginRead所指定的字節數組中讀取的字節數。

將傳 IAsyncResult 回的對象傳遞至 EndRead 方法,以判斷已讀取的位元元組數目,以及釋放用於讀取的作業系統資源。 EndRead 每次呼叫 BeginRead都必須呼叫一次。 這可以在呼叫 BeginRead 的相同程序代碼中完成,或在傳遞至 BeginRead的回呼中完成。

CanRead使用屬性來判斷目前PipeStream物件是否支援讀取作業。

如果管道已關閉或傳遞無效的自變數, BeginRead則會立即引發適當的例外狀況。 異步讀取要求期間發生的錯誤發生在執行要求的線程集區線程上。 當程式代碼呼叫 EndRead 方法時,就會引發例外狀況。

適用於