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 是共享数据长度。

        调用函数的例子如下:

  • 相关阅读:
    LeetCode 242. Valid Anagram (验证变位词)
    LeetCode 205. Isomorphic Strings (同构字符串)
    LeetCode 204. Count Primes (质数的个数)
    LeetCode 202. Happy Number (快乐数字)
    LeetCode 170. Two Sum III
    LeetCode 136. Single Number (落单的数)
    LeetCode 697. Degree of an Array (数组的度)
    LeetCode 695. Max Area of Island (岛的最大区域)
    Spark中的键值对操作
    各种排序算法总结
  • 原文地址:https://www.cnblogs.com/dongzhiquan/p/1994607.html
Copyright © 2011-2022 走看看