PreAllocatedOverlapped(IOCompletionCallback, Object, Object) 构造函数

定义

重要

此 API 不符合 CLS。

初始化 PreAllocatedOverlapped 类的新实例,并指定在每个异步 I/O 操作完成时调用的委托、可提供上下文的用户提供的对象以及充当缓冲区的托管对象。

public:
 PreAllocatedOverlapped(System::Threading::IOCompletionCallback ^ callback, System::Object ^ state, System::Object ^ pinData);
[System.CLSCompliant(false)]
public PreAllocatedOverlapped (System.Threading.IOCompletionCallback callback, object state, object pinData);
[System.CLSCompliant(false)]
public PreAllocatedOverlapped (System.Threading.IOCompletionCallback callback, object? state, object? pinData);
[<System.CLSCompliant(false)>]
new System.Threading.PreAllocatedOverlapped : System.Threading.IOCompletionCallback * obj * obj -> System.Threading.PreAllocatedOverlapped
Public Sub New (callback As IOCompletionCallback, state As Object, pinData As Object)

参数

callback
IOCompletionCallback

一个委托,表示在每个异步 I/O 操作完成时调用的回调方法。

state
Object

用户提供的对象,可用于区分从此对象生成的 NativeOverlapped 实例与其他 NativeOverlapped 实例。 其值可为 null

pinData
Object

一个对象或对象数组,用于表示操作的输入和输出缓冲区。 每个对象(如字节数组)表示一个缓冲区。 其值可为 null

属性

例外

callbacknull

此释放 ThreadPoolBoundHandle 后调用此方法。

注解

可以将新 PreAllocatedOverlapped 实例传递给 AllocateNativeOverlapped 方法,以生成 NativeOverlapped 可在重叠 I/O 操作中传递到操作系统的实例。 单个 PreAllocatedOverlapped 实例一次只能用于单个本机 I/O 操作。 但是,对于后续的本机操作,可以重复使用存储在实例中的 PreAllocatedOverlapped 状态。

备注

在调用方法之前Dispose,将固定在pinData指定的缓冲区。

适用于