首页

文章

请问:主板上的COM的功能是什么?

发布网友 发布时间:2022-04-19 21:53

我来回答

4个回答

热心网友 时间:2023-07-16 14:42

com 国际顶级域名
com也是一个国际顶级域名。 com是company的缩写,是最常用的顶级域名,表示商业网站。
[编辑本段]COM组件
什么是COM组件
COM是Component Object Model (组件对象模型)的缩写。
用户需要什么样的软件产品?这是一个多选题,但高效,健壮是肯定会被选种的。作为一名软件开发人员如何做才能满足用户的需要呢?必须要保证升级应用时不破坏与以前版本的向后兼容性。必须做到扩展系统服务时不依赖特定的操作系统。面向对象的程序设计显然是一次*性的改变。采用面向对象的设计方法我们可以很容易的把要解决的问题事物抽象成各种类,并将内部动作封装隐藏起来,只提供一些接口。但这并没有完全解决我们的问题。昨天我在《程序员》杂志上看到,现在是后OO时代,那OO以后是什么呢?应该是面向组件吧。
雷神刚刚读完《COM技术内幕》一书,整理了一个FAQ,供大家在学习此书时参考。
这是第一部分,包含前3章的内容。
FAQ1:什么是COM组件?〖第一章〗
FAQ2:组件不是……?〖第一章〗
FAQ3:什么是接口?〖第二章〗
FAQ4:接口的作用是什么?〖第二章〗
FAQ5:什么是IUnKnown? 〖第三章〗
FAQ6:QueryInterface函数的作用是什么?〖第三章〗
FAQ7:QueryInterface函数的实现规则是什么?〖第三章〗
FAQ8:QueryInterface的样子?〖第三章〗
FAQ9:QueryInterface函数的参数IID是什么?〖第三章〗
FAQ10:何时需要建立一个新的COM组件版本?〖第三章〗
Question:
什么是COM组件?
Answer:
COM组件是以WIN32动态链接库(DLL)或可执行文件(EXE)形式发布的可执行代码组成。
COM组件是遵循COM规范编写的
COM组件是一些小的二进制可执行文件
COM组件可以给应用程序、操作系统以及其他组件提供服务
自定义的COM组件可以在运行时刻同其他组件连接起来构成某个应用程序
COM组件可以动态的插入或卸出应用
COM组件必须是动态链接的
COM组件必须隐藏(封装)其内部实现细节
COM组件必须将其实现的语言隐藏
COM组件必须以二进制的形式发布
COM组件必须可以在不妨碍已有用户的情况下被升级
COM组件可以透明的在网络上被重新分配位置
COM组件按照一种标准的方式来宣布它们的存在
Question:
组件不是……?
Answer:
COM组件不是一种计算机语言
COM组件不是DLL,只是利用DLL来给组件提供动态链接的能力
COM组件不是一个API函数集。
COM组件不是类
Question:
什么是接口?
Answer:
接口就是提供两个不同对象间的一种连接。
计算机程序是通过一组函数而进行连接的,这组函数就是定义了程序中不同部分的接口。
DLL的接口就是它所输出的那些函数。
C++类的接口就是该类的成员函数集。
COM中的接口是一组由组件实现的提供给客户使用的函数。
在COM中接口是一个包含函数指针数组的内存结构,数组元素是一个由组件实现的函数地址。
Question:
接口的作用是什么?
Answer:
有了组件如何将它们连接起来构成某个应用程序,需要用接口。
在COM中接口就是一切,对客户说组件就是接口集,客户只能通过接口和组件打交道。
说明接口可以保护系统免受外界变化的影响。这是封装的体现。
接口实现了使用户使用同样的方式来处理不同的组件。这是多态的体现。
Question:
接口的如何实现?
Answer:
COM接口在C++中是用纯抽象基类实现。
一个COM组件可以支多个接口。
一个C++类可以使用多重继承来实现一个支持多个接口的组件。
组件可以支持任意数目的接口。
接口应该具有不变性。在组件升级时应该不修改原来的接口,而是添加新的接口。
要精心设计实现接口,以使之能够支持各种不同的实现。
Question:
什么是IUnKnown?
Answer:
IUnKnown是一个接口。
所有COM接口都继承IUnKnown。
IUnKnown的定义在WIN32 SDK中的UNKNWN头文件中。
///IUnKnown的定义
interface IUnKnown
{
virtual HRESULT __stdcall QueryInterface(const IID& iid,void **ppv)=0;
virtual ULONG __stdcall AddRef()=0;
virtual ULONG __stdcall Release()=0;
}
Question:
QueryInterface函数的作用是什么?
Answer:
QueryInterface是IUnKnown的成员函数,客户可以通过此函数来查询组件是否支持某个特定的接口。
QueryInterface函数返回一个指向组件支持的接口的指针。
如果QueryInterface函数没有找到组件支持的接口则返回指针是NULL。
QueryInterface函数可以使用if…then…else语句、数组、散列表、树来实现。
QueryInterface函数不能使用case语句,因为QueryInterface函数返回的是一个HRESULT结构而不是一个数。
QueryInterface也是一种无封处理组件版本的机制。这种机制使得组件的新旧不同的版本可以互操作。
Question:
QueryInterface函数的实现规则是什么?
Answer:
QueryInterface返回的IUnKnown指针总是相同。
若客户获得了某个接口,那么它总能获得此接口。
客户可以再次获得已经拥有的接口。
客户可以返回到起始接口。
若能够在某个接口获得某个特定接口,那么从任意接口都将可以获得此接口。
Question:
QueryInterface函数的参数IID是什么?
Answer:
它是一个结构,接口标识符结构。
IID标识了客户所需的接口。
每一个接口都有一个唯一的接口标识符。所以某个与IID相对应的接口绝对不会发生变化。
接口IID决定了COM组件的版本。
不同的接口具有不同的ID,包括不同版本的接口。
Question:
何时需要建立一个新的COM组件版本?
Answer:
当为已有接口指定新的ID时应该是下面的条件至少有一个成立。
接口中函数的数目发生改变时。
接口中函数的顺序发生改变。
接口中某个函数的参数发生改变
接口中某个函数的参数的顺序发生改变
接口中某个函数的参数的类型发生改变
接口中函数的返回值发生改变
接口中函数的返回值类型发生改变
接口中函数的参数的含义发生改变
接口中函数的含义发生改变
简单地说,COM是一种跨应用和语言共享二进制代码的方法。与C++不同,它提倡源代码重用。ATL便是一个很好的例证。源码级重用虽然好,但只能用于C++。它还带来了名字冲突的可能性,更不用说不断拷贝重用代码而导致工程膨胀和臃肿。
Windows使用DLLs在二进制级共享代码。这也是Windows程序运行的关键——重用kernel32.dll, user32.dll等。但DLLs是针对C接口而写的,它们只能被C或理解C调用规范的语言使用。由编程语言来负责实现共享代码,而不是由DLLs本身。这样的话DLLs的使用受到*。
MFC引入了另外一种MFC扩展DLLs二进制共享机制。但它的使用仍受*——只能在MFC程序中使用。
COM通过定义二进制标准解决了这些问题,即COM明确指出二进制模块(DLLs和EXEs)必须被编译成与指定的结构匹配。这个标准也确切规定了在内存中如何组织COM对象。COM定义的二进制标准还必须独立于任何编程语言(如C++中的命名修饰)。一旦满足了这些条件,就可以轻松地从任何编程语言中存取这些模块。由编译器负责所产生的二进制代码与标准兼容。这样使后来的人就能更容易地使用这些二进制代码。
在内存中,COM对象的这种标准形式在C++虚函数中偶尔用到,所以这就是为什么许多COM代码使用C++的原因。但是记住,编写模块所用的语言是无关的,因为结果二进制代码为所有语言可用。
此外,COM不是Win32特有的。从理论上讲,它可以被移植到Unix或其它操作系统。但是我好像还从来没有在Windows以外的地方听说过COM。
[编辑本段]英语中的com
1、表示共同或相同,意为“共同,互相,一起”;
除此之外,还有col,cor,co,syn,sym,syl,syr;另sup表共同,互 相;homo表相同,同;as表相同,类似;iso表等,同。
2、表示加强或引申意义;
同类前缀还有:be,a,ac,af,en,em,col,cor.
com-和con-前缀有表示“共同,一起”的意思。如connect, combine,combat等。
据我在英英字典里查com的意思,它给出的解释是:当其形式为.com的时候,表示的是与商业有关的意思.
据我后来在网上查到的词根表里的解释,com意为共同,与co和con同义.

热心网友 时间:2023-07-16 14:43

COM串口COM口通常也称"串口",在计算机主板上是一个9针D形接口(也称"公头")。早期是用于连接鼠标这类外设的(对应的接口为9孔"母头"),现在一般仅用于连接普通Modem。网络设备中的Console口也有采用COM口的。现在新的主板很多都已经不引出COM座,而是把它放到主板上做成插针,用的时候自己引出,因为现在很多外设都做成USB了,COM用的人也就少。呵,话题扯远了

热心网友 时间:2023-07-16 14:43

是主板各功能设置

热心网友 时间:2023-07-16 14:44

是COM口还是COMS?
玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 无尘防尘棚 linux下对编程比较友好的字体有哪些 com什么意思? 如何查看linux 服务器系统的字体? 单击COM+应用程序报错:错误代码8004E00F AE里面 预合成 是什么意思?快捷键Ctrl+shift+C Linux 系统的默认字体有哪些 WIN7 COM+ 应用程序 AE怎么合并图层啊 linux系统桌面字体怎么改成中文的 COM+应用程序错误 linux 图形界面字体显示问题 COM+ 应用程序是什么,什么是系统组件 linux字符模式 如何更改字体??? AE 如何合并图层 win7dcom为什么打不开com 应用程序? linux系统下怎么切换字体? AE中展开所有图层的快捷键是? COM+应用程序服务的种类和特点 linux QT界面字体很难看 linux在字符界面如何设置字体大小 晕倒,到底怎么设置linux系统的字体啊!!~~! com+是干什么用的啊 AE中拖入的素材图片在合成显示太大,按什么快捷键... Linux系统开始栏字体很小,怎么调大 点击“组件服务”-“COM+应用程序”时报错,怎么办? ae cs4怎么把两个图层合并成一个图层 COM是什么 linuxQT界面字体很难看 AE改变层模式的快捷键 COM、DCOM、COM+有何区别? 如何更改Linux终端颜色和字体 ae旋转快捷键 一个应用程序提供的com,只要获取com中的实例就会... 如何在Linux系统上安装字体 在AE里,把图层切断用什么快捷键啊? 《COM原理与应用》《COM本质论》《COM技术内幕》三... Linux系统有什么适合屏幕显示的字体 COM技术的优点 请问在linux enterprise 5的文本界面下怎样才能修... 不小心把安卓里的几个应用卸载了,都是“com.”开头...
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com