zoukankan      html  css  js  c++  java
  • Windows API介绍及用法:CreateFileMapping和MapViewOfFile函数(进程间数据共享)

        在开发软件过程里,也经常碰到进程间共享数据的需求。比如A进程创建计算数据,B进程进行显示数据的图形。这样的开发方式可以把一个大程序分开成独立的小程序,提高软件的成功率,也可以更加适合团队一起开发,加快软件的开发速度。下面就来使用文件映射的方式进行共享数据。先要使用函数 CreateFileMapping来创建一个想共享的文件数据句柄,然后使用MapViewOfFile来获取共享的内存地址,然后使用 OpenFileMapping函数在另一个进程里打开共享文件的名称,这样就可以实现不同的进程共享数据。
         
        函数 CreateFileMapping、MapViewOfFile声明如下:

            hFile是创建共享文件的句柄。
            lpFileMappingAttributes是文件共享的属性。
            flProtect是当文件映射时读写文件的属性。
            dwMaximumSizeHigh是文件共享的大小高位字节。
            dwMaximumSizeLow是文件共享的大小低位字节。
            lpName 是共享文件对象名称。
            hFileMappingObject是共享文件对象。
            dwDesiredAccess是文件共享属性。
            dwFileOffsetHigh是文件共享区的偏移地址。
            dwFileOffsetLow是文件共享区的偏移地址。
            dwNumberOfBytesToMap 是共享数据长度。

        调用函数的例子如下:

  • 相关阅读:
    虚拟主机导入MySQL出现Unknown character set: ‘utf8mb4’
    解决导入MySQL数据库提示"Unknown character set: 'utf8mb4'"错误
    在js中怎样获得checkbox里选中的多个值?
    CSharp设计模式读书笔记(0):设计原则(学习难度:★★☆☆☆,使用频率:★★★★★)
    how to install maven and svn plugin into eclipse 3.6
    三个月不编程,能力下降80%
    maven管理的struts2spring3mybatisfreemarker框架整合
    Wiki: JavaHL for subversion & ubuntu lucid
    重装系统要装的库包 for ubuntu lucid
    Q for Eclipse is an Apache Maven plugin for the Eclipse IDE
  • 原文地址:https://www.cnblogs.com/dongzhiquan/p/1994607.html
Copyright © 2011-2022 走看看