ThreadPoolBoundHandle.AllocateNativeOverlapped メソッド

定義

NativeOverlapped 構造体へのアンマネージ ポインターを返します。

オーバーロード

AllocateNativeOverlapped(PreAllocatedOverlapped)

指定した PreAllocatedOverlapped オブジェクトに関連付けられているコールバック状態とバッファーを使用して、アンマネージ ポインターを NativeOverlapped 構造体に返します。

AllocateNativeOverlapped(IOCompletionCallback, Object, Object)

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

AllocateNativeOverlapped(PreAllocatedOverlapped)

ソース:
ThreadPoolBoundHandle.cs
ソース:
ThreadPoolBoundHandle.Unix.cs
ソース:
ThreadPoolBoundHandle.Unix.cs

重要

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

指定した PreAllocatedOverlapped オブジェクトに関連付けられているコールバック状態とバッファーを使用して、アンマネージ ポインターを NativeOverlapped 構造体に返します。

public:
 System::Threading::NativeOverlapped* AllocateNativeOverlapped(System::Threading::PreAllocatedOverlapped ^ preAllocated);
[System.CLSCompliant(false)]
public System.Threading.NativeOverlapped* AllocateNativeOverlapped (System.Threading.PreAllocatedOverlapped preAllocated);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public System.Threading.NativeOverlapped* AllocateNativeOverlapped (System.Threading.PreAllocatedOverlapped preAllocated);
[<System.CLSCompliant(false)>]
member this.AllocateNativeOverlapped : System.Threading.PreAllocatedOverlapped -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
member this.AllocateNativeOverlapped : System.Threading.PreAllocatedOverlapped -> nativeptr<System.Threading.NativeOverlapped>

パラメーター

preAllocated
PreAllocatedOverlapped

NativeOverlapped ポインターの作成元のオブジェクト。

戻り値

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

属性

例外

preAllocatednullです。

preAllocated は現在別の I/O 操作で使用中です。

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

- または -

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

注釈

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

こちらもご覧ください

適用対象

AllocateNativeOverlapped(IOCompletionCallback, Object, Object)

ソース:
ThreadPoolBoundHandle.cs
ソース:
ThreadPoolBoundHandle.Unix.cs
ソース:
ThreadPoolBoundHandle.Unix.cs

重要

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

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

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

パラメーター

callback
IOCompletionCallback

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

state
Object

この NativeOverlapped インスタンスを他の NativeOverlapped インスタンスと区別する、ユーザー指定のオブジェクト。

pinData
Object

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

戻り値

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

属性

例外

callbacknullです。

このメソッドは ThreadPoolBoundHandle オブジェクトが破棄された後に呼び出されました。

注釈

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

Note

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

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

適用対象