实际上,事件传递本质上就是一种共享内存的通信方式。ICLIPBOARD可以用于实现 AEE 层中的剪切和粘贴功能,是共享内存通信的另一种重要形式。由于剪贴板数据在应用程序结束后仍可能存在,因而此函数会分配新内存并将内容复制到新的缓冲区,也就是说ICLIPBOARD_Set() 分配的内存在系统内存里,所以可以被其他的应用所使用。如果传递指针为 NULL 或大小为 0 的参数,将会释放现有的剪贴板数据。

目标应用希望从剪贴板获得通信内容的时候,需要使用ICLIPBOARD_EnumInit()初始化剪贴板中各格式的枚举上下文,然后调用ICLIPBOARD_GetData()将指定格式的剪贴板数据复制到目标缓冲区,如果剪贴板中的数据不是目标应用所需要的,需要调用ICLIPBOARD_EnumNext()返回下一个可用/注册的剪贴板格式进一步处理,以此类推。在目标应用处理完毕后,可以调用ICLIPBOARD_Empty()从剪贴板中删除所有格式的所有数据。如果最后一个应用程序没有调用 ICLIPBOARD_Empty 来释放剪贴板,并且 BREW 在手持设备关机后退出,则剪贴板上的所有数据均将丢失。

转载于:https://blog.51cto.com/wirelesscao/631680

BREW应用间通信之共享内存相关推荐

  1. 【转】JAVA 并发性和多线程 -- 读感 (二 线程间通讯,共享内存的机制)

    原文地址:https://www.cnblogs.com/edenpans/p/6020113.html 参考文章:http://ifeve.com/java-concurrency-thread-d ...

  2. 共享内存 传一个类指针_大神是如何学习 Go 语言之为什么使用通信来共享内存...

    为什么这么设计(Why's THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点.对具体实现造成的影响 ...

  3. 如何理解“不要通过共享内存来通信,而应该通过通信来共享内存”?

    不要通过共享内存来通信,而应该通过通信来共享内存 这是一句风靡golang社区的经典语,对于刚接触并发编程的人,该如何理解这句话? 如何理解"不要通过共享内存来通信,而应该通过通信来共享内存 ...

  4. 【VxWorks系列】任务间同步与通信之共享内存

    在开始之前先说明三个概念,任务间的同步,互斥,通信. 同步,是指一个任务等待某个条件发生,而另外一个任务引发这个条件后,等待的任务会被触发执行相应的处理.这就是一个任务与另一任务之间的同步控制. 互斥 ...

  5. Linux C 进程间的IPC通信 之 共享内存(二)

    1.父子进程(有亲缘关系)的IPC通信 int shmid;       shmid = shmget(IPC_PRIVATE, 128, IPC_CREAT | 0777); //创建共享内存,参数 ...

  6. Linux C 进程间的IPC通信 之 共享内存(一)

    1.IPC(inter - process communication)通信 共享内存.消息队列.信号灯 2.库 <sys/shm.h> 2-1  创建共享内存 int shmget( k ...

  7. Linux进程间的通信----->共享内存

    共享内存:         顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存.共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式.不同进程之间共享的内存通常安排为同一段物 ...

  8. linux进程间的通信(C): 共享内存

    一.共享内存介绍 共享内存是三个IPC(Inter-Process Communication)机制中的一个. 它允许两个不相关的进程访问同一个逻辑内存. 共享内存是在两个正在进行的进程之间传递数据的 ...

  9. 线程通信机制---共享内存:消息传递

    在并发编程中,我们必须考虑的问题时如何在两个线程间进行通讯.这里的通讯指的是不同的线程之间如何交换信息. 目前有两种方式: 1.共享内存 2.消息传递(actor 模型) 共享内存 共享内存这种方式比 ...

最新文章

  1. swift3.0友盟分享
  2. 爬取动态网页(2017年年度豆瓣电影榜单)
  3. caffe多个gpu数据合并到一起
  4. 2021年春节联欢晚会第三次联排亮点多
  5. 决策树c语言程序代码,R C5.0 决策树c50代码,名为 exit 1_r_开发99编程知识库
  6. 释疑の采购订单的批量修改
  7. ---innerHTML---
  8. “package XXX is not in GOROOT“ when building a Go project2021-09-06
  9. RabbitMQ消息重复消费问题
  10. Spark 常见问题小结
  11. SQL查询单表数据(一)
  12. 力扣538.把二叉搜索树转换为累加树(JavaScript)
  13. windows10无法访问共享计算机,win10共享无法访问,windows无法访问共享文件
  14. 【百度地图2.5D、3D在Vue项目中的使用】嵌入二维百度地图、三维百度地图、多种显示模式风格样式颜色的百度地图
  15. macd底背离的python_Python量化交易之MACD#39;顶底背离#39;形态的实现,自动化交易!...
  16. php groovy,Groovy
  17. ESModule中载入commjs
  18. 创建阿里云服务器并实现疫情地图可视化
  19. 阿里企业邮箱526 Authentication failure[0]
  20. Java HashMap底层实现

热门文章

  1. php 的点代表什么意思,linux .(点)是什么意思
  2. mysql 表名是变量_MySQL深层次的总结
  3. linux创建自定义组件qt,QT中的元对象系统:创建自定义的QT类型
  4. oracle保存时间到数据库
  5. linux 的scp 命令
  6. 加密芯片提升消费电子产品设备的安全性能
  7. 一个API方式存取日志文件的模块[VB]
  8. 等级考试(四):二级C++---回首往昔考试历程
  9. 照片解锁手机不能忍?教你用OpenCV做活体检测 | 有代码
  10. 百度又要开放哪些无人车新能力?“老司机”Apollo3.5要来了,市中心开车无压力...