一篇MSDN的博客

Windows xpEmbedded 使用了基于 SQL 的数据库来包含所有组件。是安装在本地或远程的 Microsoft SQL Server,安装WES必须首先安装数据库。

为了通过一组工具无缝提供对本地和远程数据库的访问能力,以及提供迅速切换数据库的能力,在整个体系结构中要求有一个数据库通信层。这个层叫作 CMI,即组件管理接口。它在生存期内的主要目的是在 Windows xp Embedded 工具(Target Designer、Component Designer 和 Component Database Manager)和组件数据库之间提供一个标准接口,而不管它驻留在哪里(本地或远程,SQL Server)。如果它与组件数据库中的任何内容相关,就将涉及 CMI。

因为所有工具都依靠活动数据库连接来执行任何有用的工作,所以任何工具所做的第一件事是要求CMI提供活动数据库连接。如果没有数据库连接,CMI会返回失败,并且工具会报告错误。简单地说,如果没有数据库连接,就没有办法在 Windows xp Embedded 中做任何有意义的工作。

CMI 还规定了某些级别的异步数据库访问,该功能很可能用于远程 SQL Server 数据库和多个客户端。所有涉及数据库更改的操作完全在 SQL中实现了事务化,一旦发生失败操作将提供回滚功能。CMI 还将只读和独占访问模式区分开来。如果任何工具想删除数据库中的信息(当前只有 Component Database Manager),它首先需要进行独占访问,如果有任何工具已将数据库打开,它就无法获得独占访问权。相反,如果它被授予独占访问权,则任何其他工具均无法访问数据库,直到独占访问权被释放为止。

组件只是驻留在数据库中的一组资源和属性。当组件被添加到配置中时,它就叫作实例,然后可以修改、操作和构建它。因为 CMI 是工具的 COM 服务器,所以它强制形成了一个 Windows XP Embedded体系结构的基础所有内容都是对象。配置、组件、实例、资源、文件、注册表项、储备库实际上它们全部都是对象。因此,Windows XP Embedded 体系结构将面向对象 (OO) 哲学的三个原则具体化:封装、继承和多态

CMI的作用假设我们有一个要包括在运行时映像中的应用程序。这样做的正常步骤是为应用程序编写一个组件,然后将组件导入数据库,并将组件包括在配置中,然后构建运行时映像。

启动 Component Designer时,CMI 首先会确保它有数据库连接。创建新组件的操作将指引 CMI 创建新的组件对象。然后,Component Designer 使用该对象作为您定义的所有组件信息的存储位置。基本编写过程包括:定义组件名称,指定要复制哪些文件和将它们放在运行时映像的什么位置,以及指定要使用的注册表项和将它们放在哪里。名称是标准组件属性,所以包括在 Component 对象中。您指定的文件和注册表项是由 CMI 创建并附加到组件对象上的对象。

做好导入组件的准备后,请启动Component Database Manager。它的第一项工作是调用 CMI 以便连接到您在安装期间指定的数据库。如果 CMI 可以连接,将允许您把 SLD 导入数据库中。(SLD 代表“源代码级别定义”,发音是“slide”。它是 Component Designer 的输出。)再次说明,Component Database Manager 所做的所有事情是将 SLD 传递给 CMI 以便进行处理。浏览数据库,删除包和组件及检查对象属性均由 CMI 处理,并且 CDM 充当了基本 COM 对象层的 UI。

在您做好构建运行时映像的最后准备时,CMI会再次验证数据库连接。创建新的配置依赖 CMI 以创建对象,填充 Component Browser 也是如此。将组件添加到配置中需要 CMI 首先基于所选组件创建一个实例,然后将它附加到打开的配置上。还会为实例的文件、注册表和其他资源创建资源对象。在依赖性检查期间,CMI 会负责标识依赖性,并创建需要用于依赖性解析的组件列表。在构建期间,会要求 CMI 来访问要复制的实际文件,并且为处理构建排序提供详细的属性信息。

1-XPE体系结构基础相关推荐

  1. STL体系结构与内核分析-2-STL体系结构基础介绍(侯捷)--笔记

    STL体系结构与内核分析(侯捷) 2.STL体系结构基础介绍 STL设计方式与OO(面向对象)不同的地方,OO鼓励数据和处理数据的方法都放在类里,而STL的数据在容器里,操作数据的方法在其他部件里(模 ...

  2. ARMv8体系结构基础05:比较和跳转指令

    目录 1 比较与测试指令详解 1.1 CMP指令 1.1.1 概述 1.1.2 指令编码分析 1.2 CMN指令 1.2.1 概述 1.2.2 指令编码分析 1.3 TST指令 1.3.1 概述 1. ...

  3. 软件工程与计算II-9-软件体系结构基础

    9-软件体系结构基础 1. 软件体系结构 1969年出现软件体系结构 历史部分了解即可 1.1. Until the late 1980 直到1980年底 从那时到1980年代后期,"体系结 ...

  4. 计算机体系结构基础中的问题(可能的问题)回答(胡伟武)

    计算机体系结构基础中的问题回答(胡伟武) 文章目录 计算机体系结构基础中的问题回答(胡伟武) 从按下键盘到PPT翻页的过程? 卡顿的原因? CPU微结构中影响性能的因素? 独显的数据传输问题? 什么是 ...

  5. 【学习笔记】高性能计算之胡伟武《计算机体系结构基础》(第三版)

    自2022年3月1日起每天更新,3.3已更新至第三章 写在前面 1. 引言 1.1 计算机体系结构的研究内容 1.2 衡量计算机的指标 1.3 计算机体系结构的发展 1.4 体系结构设计的基本原则 2 ...

  6. 计算机体系结构-体系结构基础与流水线原理

    计算机体系结构:体系结构基础与流水线原理 计算机体系结构:量化设计与分析一书以RISC-V为例介绍计算机体系结构.介绍体系结构的基本知识和流水线原理.笔记内容为原书的第一章,附录A.B.C. 第一章 ...

  7. 并行多核体系结构基础 Yan Solihin 第5章 存储层次结构概述 摘录

    在多核体系结构中,存储层次由硬件管理的临时存储(如Cache),以及少量采用软件管理的临时存储(如便笺式存储器)组成. 性能调优过程最重要的一个因素就是理解当代计算机系统的存储层次.对于:1)了解如何 ...

  8. 计算机体系结构基础引言

    关与作者更多博客请访问云里云外开源社区 计算机体系结构基础引言 文章目录 计算机体系结构基础引言 1.1一以贯之 1.1.1为什么我按一下空格键,PPT会翻一页 1.2什么是计算机 1.3计算机的基本 ...

  9. 【华为云技术分享】ARM体系结构基础(1)

    鲲鹏处理器采用ARM架构,欧拉系统可以运行在鲲鹏架构的服务器上,想要了解欧拉操作系统对硬件的支持,首先需要了解一些ARM架构的基础知识.操作系统中硬件相关的部分集中体现在汇编指令和对寄存器的操作中,因 ...

  10. ARMv8体系结构基础04:算术和移位指令

    目录 1 数据处理指令概述 2 加法指令详解 2.1 ADD指令 2.1.1 ADD(extended register)指令编码分析 2.1.2 ADD(extended register)指令编码 ...

最新文章

  1. php实现 统计输入中各种字符的个数
  2. centos6.5 tar安装mysql_centos6.6安装mysql5.7.9tar包
  3. 前端学习(2760):image基本使用
  4. 使用indexOf()算出长字符串中包含多少个短字符串
  5. codevs3872 邮递员送信(SPFA)
  6. 支持ie8的时分秒的html,兼容ie8的漂亮jQuery计时器插件
  7. spring catch了异常还是回滚了_干货:Spring 踩坑之@Transactional 神奇失效
  8. 《企业软件交付:敏捷与高效管理精要》——2.5 项目执行结果
  9. 使用Gitee和Sourcetree进行Keil版本控制
  10. caffe 连接 matlab2016b
  11. 《Offer一箩筐》一份高质量「简历」撰写指南,望打扰!!
  12. CSS压缩之:正则五步替换法
  13. Android攻城狮datePicketimePicker
  14. CDR各版本文件不兼容的原因
  15. 用Linux开发板制作智能音箱,【工程师实战】只要几步,普通音箱秒变小度智能音箱...
  16. Python爬虫-利用xpath解析爬取58二手房详细信息
  17. 第7章第34节:五图排版:只有一段文字的一大四小式布局 [PowerPoint精美幻灯片实战教程]
  18. ES, MongoDB, HBase的区别和使用场景
  19. G - Ania and Minimizing(模拟)
  20. 1094 谷歌的招聘(测试点2说明)

热门文章

  1. 江西余干:端午龙舟赛引冲突 官方否认有人被打死
  2. linux 汇编 读取软盘,学习x86汇编语言7 使用INT13读取软盘数据
  3. 戴尔台式计算机怎么拆卸两块侧板,高效易用 戴尔OptiPlex 7050商用台式机评测
  4. 实验一 基于TCP和UDP的客户端和服务器端
  5. Mentor-dft 学习笔记 day12-Multi-Mode ChainsScan Insertion Flows
  6. 每日新闻丨雷军:金山办公分拆上市是既定战略;我国计划2022年前后建成可载3人的空间站...
  7. QCC514x-QCC304x(headset)系列(实战篇)之3.2 如何使用按键开机和关机
  8. 论人性文明与人工智能发展(一)
  9. Frida出现process with pid XXXX either refused to load frida-agent, or terminated during injection错误的原因
  10. 关于今天参加学校ACM比赛的感想