次の方法で共有


ThreadPoolBoundHandle.UnsafeAllocateNativeOverlapped メソッド

定義

重要

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

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

public:
 System::Threading::NativeOverlapped* UnsafeAllocateNativeOverlapped(System::Threading::IOCompletionCallback ^ callback, System::Object ^ state, System::Object ^ pinData);
[System.CLSCompliant(false)]
public System.Threading.NativeOverlapped* UnsafeAllocateNativeOverlapped (System.Threading.IOCompletionCallback callback, object? state, object? pinData);
[<System.CLSCompliant(false)>]
member this.UnsafeAllocateNativeOverlapped : System.Threading.IOCompletionCallback * obj * obj -> nativeptr<System.Threading.NativeOverlapped>

パラメーター

callback
IOCompletionCallback

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

state
Object

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

pinData
Object

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

戻り値

NativeOverlapped 構造体へのアンマネージ ポインター。

属性

例外

callbacknullです。

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

注釈

このメソッドによって返されるアンマネージ ポインターは、重複した I/O 操作でオペレーティング システムに渡すことができます。 構造体は NativeOverlapped 、 が呼び出されるまで FreeNativeOverlapped(NativeOverlapped*) 物理メモリ内で固定されます。

pinData 指定されるバッファーは、非同期 I/O を実行するアンマネージド オペレーティング システム関数に渡されるものと同じである必要があります。

ExecutionContext はコールバックの呼び出しにフローされません。

注意

pinData 指定されたバッファーは、I/O 操作の間ピン留めされます。

適用対象