共用方式為


PreAllocatedOverlapped.UnsafeCreate 方法

定義

重要

此 API 不符合 CLS 規範。

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

public:
 static System::Threading::PreAllocatedOverlapped ^ UnsafeCreate(System::Threading::IOCompletionCallback ^ callback, System::Object ^ state, System::Object ^ pinData);
[System.CLSCompliant(false)]
public static System.Threading.PreAllocatedOverlapped UnsafeCreate (System.Threading.IOCompletionCallback callback, object? state, object? pinData);
[<System.CLSCompliant(false)>]
static member UnsafeCreate : System.Threading.IOCompletionCallback * obj * obj -> System.Threading.PreAllocatedOverlapped
Public Shared Function UnsafeCreate (callback As IOCompletionCallback, state As Object, pinData As Object) As PreAllocatedOverlapped

參數

callback
IOCompletionCallback

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

state
Object

使用者提供的物件,可 NativeOverlapped 區分從這個物件產生的實例與其他 NativeOverlapped 實例。 可以是 null

pinData
Object

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

傳回

PreAllocatedOverlapped 執行個體。

屬性

例外狀況

callbacknull

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

備註

新的 PreAllocatedOverlapped 實例可以傳遞至 AllocateNativeOverlapped(PreAllocatedOverlapped) ,以產生 NativeOverlapped 可在重迭 I/O 作業中傳遞至作業系統的實例。 單 PreAllocatedOverlapped 一實例一次只能用於單一原生 I/O 作業。 不過,儲存在 實例中的 PreAllocatedOverlapped 狀態可以重複使用於後續的原生作業。 ExecutionCoNtext 不會流向回呼的調用。

注意

中指定的 pinData 緩衝區會釘選到呼叫之前 Dispose()

適用於