PreAllocatedOverlapped(IOCompletionCallback, Object, Object) 建構函式

定義

重要

此 API 不符合 CLS 規範。

初始化 PreAllocatedOverlapped 類別的新執行個體,並指定當每個非同步 I/O 作業完成時叫用的委派、提供內容的使用者提供物件,以及作為緩衝區的 Managed 物件。

C#
[System.CLSCompliant(false)]
public PreAllocatedOverlapped(System.Threading.IOCompletionCallback callback, object state, object pinData);
C#
[System.CLSCompliant(false)]
public PreAllocatedOverlapped(System.Threading.IOCompletionCallback callback, object? state, object? pinData);

參數

callback
IOCompletionCallback

委派,表示當每個非同步 I/O 作業完成時叫用的回呼方法。

state
Object

使用者提供的物件,可區別此物件與其他 NativeOverlapped 執行個體產生的 NativeOverlapped 執行個體。 其值可以是 null

pinData
Object

物件或物件陣列,代表作業的輸入或輸出緩衝區。 每個物件代表一個緩衝區,例如位元組陣列。 其值可以是 null

屬性

例外狀況

callbacknull

處置 ThreadPoolBoundHandle 後才呼叫這個方法。

備註

新的 PreAllocatedOverlapped 實例可以傳遞至 AllocateNativeOverlapped 方法,以產生 NativeOverlapped 可在重迭 I/O 作業中傳遞至作業系統的實例。 單 PreAllocatedOverlapped 一實例一次只能用於單一原生 I/O 作業。 不過,儲存在 實例中的 PreAllocatedOverlapped 狀態可以重複使用以供後續的原生作業使用。

注意

中指定的 pinData 緩衝區會固定到呼叫 方法為止 Dispose

適用於

產品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0