利用内存映射文件进行程序间通信1一概念

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。

一、System.IO.MemoryMappedFiles 命名空间

System.IO.MemoryMappedFiles 命名空间提供用于使用内存映射文件的类,该文件将文件内容映射到应用程序的逻辑地址空间。

MemoryMappedFile:表示内存映射文件。

MemoryMappedViewAccessor:表示随机访问的内存映射文件视图。

二、MemoryMappedFile 类

表示内存映射文件,它将文件的内容映射到应用程序的逻辑地址空间。

1、CreateNew 方法

在系统内存中创建一个具有指定容量的内存映射文件。使用此方法创建一个不持久保留的内存映射文件 (即,不与关联磁盘上的文件),可以用于进程之间共享数据。

Public Shared Function CreateNew ( _

    mapName As String, _

    capacity As Long _

) As MemoryMappedFile

参数说明:

  1. mapName:要分配给内存映射文件的名称。
  2. capacity:要分配给内存映射文件的最大大小(以字节为单位)。

返回值:

具有指定名称和容量的内存映射文件。

2、CreateOrOpen方法

在系统内存中创建或打开一个具有指定容量的内存映射文件。

Public Shared Function CreateOrOpen ( _

    mapName As String, _

    capacity As Long _

) As MemoryMappedFile

参数说明:

  1. mapName:要分配给内存映射文件的名称。
  2. capacity:要分配给内存映射文件的最大大小(以字节为单位)。

返回值:

具有指定名称和容量的内存映射文件。

3、OpenExisting方法

在系统内存中打开一个具有指定名称的现有内存映射文件。

Public Shared Function OpenExisting ( _

    mapName As String _

) As MemoryMappedFile

参数说明:

  1. mapName :要打开的内存映射文件的名称。

返回值:

具有指定名称的内存映射文件。

4、CreateViewAccessor方法

创建映射到内存映射文件视图的访问器。

三、MemoryMappedViewAccessor 类

表示随机访问的内存映射文件视图。主要使用来写入和读取存入文件视图的数据。

1、Write~方法

向访问器写入一个相应的值,第一个参数是要写入的位置,第二个参数可以是布尔值、字节值、字符等。

2、WriteArray(of T)方法

将结构从 T 类型的数组写入访问器。

Public Sub WriteArray(Of T As Structure) ( _

    position As Long, _

    array As T(), _

    offset As Integer, _

    count As Integer _

)

参数说明:

  1. position:访问器中起始写入位置的字节偏移量。
  2. array:要写入访问器的数组。
  3. offset:在 array 中从其开始写入的索引。
  4. count:要写入的 array 中的结构数。

3、Read~方法

从访问器读取一个相应的值,可以是布尔值、字节值、字符等。

4、ReadArray(Of T) 方法

将 T 类型的结构从访问器读取到 T 类型的数组中。

Public Function ReadArray(Of T As Structure) ( _

    position As Long, _

    array As T(), _

    offset As Integer, _

    count As Integer _

) As Integer

参数说明:

  1. position:访问器中的字节偏移量,从此处开始读取。
  2. array:包含从访问器读取的结构的数组。
  3. offset:array 中要将第一个复制的结构放置到的索引。
  4. count:要从访问器读取的 T 类型的结构的数目。

返回值:

读入array的结构数。 如果可用结构较少,则此值可能小于count;如果到达访问器末尾,则为零。

 

由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。

学习更多vb.net知识,请参看vb.net 教程 目录

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值