ThreadPoolBoundHandle.UnsafeAllocateNativeOverlapped メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
重要
この 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
これを NativeOverlapped 他 NativeOverlapped のインスタンスと区別するユーザー指定のオブジェクト。
null
の可能性があります。
- pinData
- Object
操作の入力バッファーまたは出力バッファーを表す、オブジェクトまたはオブジェクトの配列。 各オブジェクトが、バイトの配列などのバッファーを表します。
null
の可能性があります。
戻り値
NativeOverlapped 構造体へのアンマネージ ポインター。
- 属性
例外
callback
が null
です。
このメソッドは ThreadPoolBoundHandle が破棄された後に呼び出されました。
注釈
このメソッドによって返されるアンマネージ ポインターは、重複した I/O 操作でオペレーティング システムに渡すことができます。 構造体は NativeOverlapped 、 が呼び出されるまで FreeNativeOverlapped(NativeOverlapped*) 物理メモリ内で固定されます。
で pinData
指定されるバッファーは、非同期 I/O を実行するアンマネージド オペレーティング システム関数に渡されるものと同じである必要があります。
ExecutionContext はコールバックの呼び出しにフローされません。
注意
で pinData
指定されたバッファーは、I/O 操作の間ピン留めされます。
適用対象
.NET