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

定義

重要

此 API 不符合 CLS 規範。

初始化該類別的新實例 PreAllocatedOverlapped ,並指定每個非同步 I/O 操作完成時要呼叫的代理、一個由使用者提供的物件提供上下文,以及作為緩衝區的受管理物件。

public:
 PreAllocatedOverlapped(System::Threading::IOCompletionCallback ^ callback, System::Object ^ state, System::Object ^ pinData);
[System.CLSCompliant(false)]
public PreAllocatedOverlapped(System.Threading.IOCompletionCallback callback, object state, object pinData);
[System.CLSCompliant(false)]
public PreAllocatedOverlapped(System.Threading.IOCompletionCallback callback, object? state, object? pinData);
[<System.CLSCompliant(false)>]
new System.Threading.PreAllocatedOverlapped : System.Threading.IOCompletionCallback * obj * obj -> System.Threading.PreAllocatedOverlapped
Public Sub New (callback As IOCompletionCallback, state As Object, pinData As Object)

參數

callback
IOCompletionCallback

一個代理,代表每次非同步 I/O 操作完成時呼叫的回調方法。

state
Object

一個使用者提供的物件,用 NativeOverlapped 來區分由此物件產生的實例與其他 NativeOverlapped 實例。 其值可以是 null

pinData
Object

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

屬性

例外狀況

callbacknull

此方法在處理 ThreadPoolBoundHandle 後被命名。

備註

PreAllocatedOverlapped新實例可以傳遞給AllocateNativeOverlapped該方法,產生NativeOverlapped一個實例,再以重疊的 I/O 操作傳遞給作業系統。 PreAllocatedOverlapped單一實例一次只能用於單一原生 I/O 操作。 然而,實例中儲存 PreAllocatedOverlapped 的狀態可以重複用於後續的原生操作。

Note

pinData 指定的緩衝區會被釘選,直到 Dispose 方法被呼叫為止。

適用於