Language

PreAllocatedOverlapped.UnsafeCreate メソッド

定義

重要

この API は CLS 準拠ではありません。

各非同期 I/O 操作が完了したときに呼び出されるデリゲート、コンテキストを提供するユーザー指定のオブジェクト、およびバッファーとして機能するマネージド オブジェクトを指定して、 PreAllocatedOverlapped クラスの新しいインスタンスを初期化します。

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

各非同期 I/O 操作が完了したときに呼び出されるコールバック メソッドを表す IOCompletionCallback デリゲート。

state
Object

このオブジェクトから生成されたインスタンス NativeOverlapped 他の NativeOverlapped インスタンスとを区別する、ユーザー指定のオブジェクト。 null の可能性があります。

pinData
Object

操作の入力バッファーまたは出力バッファーを表すオブジェクトのオブジェクトまたは配列。 各オブジェクトは、バイト配列などのバッファーを表します。 null の可能性があります。

返品

新しい PreAllocatedOverlapped インスタンス。

属性

例外

callback は nullです。

このメソッドは、 ThreadPoolBoundHandle が破棄された後に呼び出されました。

注釈

新しい PreAllocatedOverlapped インスタンスを AllocateNativeOverlapped(PreAllocatedOverlapped)に渡して、重複した I/O 操作でオペレーティング システムに渡すことができる NativeOverlapped インスタンスを生成できます。 1 つの PreAllocatedOverlapped インスタンスは、一度に 1 つのネイティブ I/O 操作にのみ使用できます。 ただし、 PreAllocatedOverlapped インスタンスに格納されている状態は、後続のネイティブ操作に再利用できます。 ExecutionContext はコールバックの呼び出しにフローされません。

Note

pinDataで指定されたバッファーは、Dispose()が呼び出されるまでピン留めされます。

適用対象