欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VB.NET并行与分布式编程(11)-重叠 I/O

程序员文章站 2022-04-29 09:53:20
...

NativeOverlapped 结构

提供一种显式布局,它在非托管代码中可见,并将具有与 Win32 OVERLAPPED 结构相同的布局且在结尾有附加保留的字段。

'声明
<ComVisibleAttribute(True)> _
Public Structure NativeOverlapped
'用法
Dim instance As NativeOverlapp

 EventHandle指定在操作完成后设置为终止状态的事件句柄。调用进程必须在调用任何重叠函数之前将此成员设置为零或有效事件句柄。

InternalHigh指定传输的数据长度。保留给操作系统使用。

InternalLow指定系统相关的状态。保留给操作系统使用。

OffsetHigh指定开始传输的字节偏移量中的高字。OffsetLow指定开始传输的文件位置。

Overlapped 类

 提供一个 Win32 OVERLAPPED 结构的托管表示形式,包括将信息从 Overlapped 实例传输到 NativeOverlapped 结构的方法。

 Overlapped  初始化 Overlapped 类的新的空实例。 
  Overlapped(Int32, Int32, Int32, IAsyncResult)  已过时。用指定的文件位置、当 I/O 操作完成时终止的事件的 32 位整型句柄、以及一个用来返回操作结果的接口初始化 Overlapped 类的新实例。
  Overlapped(Int32, Int32, IntPtr, IAsyncResult)  用指定的文件位置、当 I/O 操作完成时终止的事件的句柄、以及一个用来返回操作结果的接口初始化 Overlapped 类的新实例。 

  Equals(Object)  确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)
  Finalize  允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
   Free  释放与 Pack 方法分配的本机重叠结构关联的非托管内存。 
  GetHashCode  用作特定类型的哈希函数。 (继承自 Object。)
  GetType  获取当前实例的 Type。 (继承自 Object。)
  MemberwiseClone  创建当前 Object 的浅表副本。 (继承自 Object。)
  Pack(IOCompletionCallback)  已过时。将当前实例打包为一个 NativeOverlapped 结构,并指定当异步 I/O 操作完成时调用的委托。
  Pack(IOCompletionCallback, Object)  将当前实例打包为一个 NativeOverlapped 结构,并指定当异步 I/O 操作完成时调用的委托,以及作为缓冲区的托管对象。 
  ToString  返回表示当前对象的字符串。 (继承自 Object。)
   Unpack  将指定的非托管 NativeOverlapped 结构解压缩为 Overlapped 对象。 
  UnsafePack(IOCompletionCallback)  已过时。将当前实例打包为一个 NativeOverlapped 结构,并指定当异步 I/O 操作完成时调用的委托。 不传播该调用堆栈。 
  UnsafePack(IOCompletionCallback, Object)  将当前实例打包为一个 NativeOverlapped 结构,并指定当异步 I/O 操作完成时调用的委托,以及作为缓冲区的托管对象。 不传播该调用堆栈。