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

定义

重要

此 API 不符合 CLS。

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

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 状态重新用于后续本机操作。

注释

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

适用于