PreAllocatedOverlapped(IOCompletionCallback, Object, Object) 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重要
此 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.
- 属性
例外
callback 是 null。
此方法是在释放后 ThreadPoolBoundHandle 调用的。
注解
可以将新 PreAllocatedOverlapped 实例传递给 AllocateNativeOverlapped 方法,以生成 NativeOverlapped 可以在重叠 I/O 操作中传递给操作系统的实例。 单个 PreAllocatedOverlapped 实例一次只能用于单个本机 I/O 操作。 但是,可以将存储在实例中的 PreAllocatedOverlapped 状态重新用于后续本机操作。
注释
在调用方法之前pinData,将固定在其中Dispose指定的缓冲区。