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