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

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

state
Object

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

pinData
Object

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

戻り値

新しい PreAllocatedOverlapped インスタンス。

属性

例外

callbacknullです。

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

注釈

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

Note

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

適用対象