PreAllocatedOverlapped.UnsafeCreate 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
重要
此 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 執行個體。
- 屬性
例外狀況
callback
為 null
。
處置 ThreadPoolBoundHandle 後才呼叫這個方法。
備註
新的 PreAllocatedOverlapped 實例可以傳遞至 AllocateNativeOverlapped(PreAllocatedOverlapped) ,以產生 NativeOverlapped 可在重迭 I/O 作業中傳遞至作業系統的實例。 單 PreAllocatedOverlapped 一實例一次只能用於單一原生 I/O 作業。 不過,儲存在 實例中的 PreAllocatedOverlapped 狀態可以重複使用於後續的原生作業。 ExecutionCoNtext 不會流向回呼的調用。
注意
中指定的 pinData
緩衝區會釘選到呼叫之前 Dispose() 。