queryinterfacerequestmapping是什么意思

queryinterface  时间:2021-07-10  阅读:()

经常看到电器的接线端有“COM”。请问是什么意思?表是什么?

编辑词条 COM接口 COM接口是指Component Object Mode接口,是微软定义的标准接口。

串口叫做串行接口,现在的PC 机一般有两个串行口COM 1 和COM 2 。

串行口不同于并行口之处在于它的数据和控制信息是一位接一位地传送出去的。

虽然这样速度会慢一些,但传送距离较并行口更长,因此若要进行较长距离的通信时,应使用串行口。

通常 COM 1 使用的是9 针D 形连接器,也称之为RS-232接口,而COM 2 有的使用的是老式的DB25 针连接器,也称之为RS-422接口,这种接口目前已经很少使用。

一般机箱有两个,新机箱有可能只有一个。

笔记本电脑有可能没有。

有很多工业仪器将它作为标准通信端口。

通信的内容与格式一般附在仪器的用户说明书中。

计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。

由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。

在串行通讯时,要求通讯双方都采用一个标准接口,使不同 的设备可以方便地连接起来进行通讯。

RS-232-C接口(又称 EIA RS-232-C)是目前最常用的一种串行通讯接口。

它是在1970年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标 准。

它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间 串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的 DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信 号的电平加以规定。

(1)接口的信号内容 实际上RS-232-C的25条引线中有许多是很少使用的,在计算机与终端通讯中一般只使用3-9条引线。

RS-232-C最常用的9条引线的信号内容见附表1所示 (2)接口的电气特性 在RS-232-C中任何一条信号线的电压均为负逻辑关系。

即:逻 辑“1”,-5— -15V;逻辑“0” +5— +15V 。

噪声容限为2V。

即 要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号 作为逻辑“1” (3) 接口的物理结构 RS-232-C接口连接器一般使用型号为DB-25的25芯插头座,通常插头在DCE端,插座在DTE端. 一些设备与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。

所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。

(4)传输电缆长度 由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50英尺,美国DEC公司曾规定允许码元畸变为10%而得出附表2 的实验结果。

其中1号电缆为屏蔽电缆,型号为DECP.NO.9107723 内有三对双绞线,每对由22# AWG 组成,其外覆以屏蔽网。

2号电缆为不带屏蔽的电缆。

型号为DECP.NO.9105856-04是22#AWG的四芯电缆。

1.RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。

RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。

RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。

RS-232-C标准规定的数据传输速率为每秒50、75、 100、150、300、600、1200、2400、4800、9600、19200波特。

RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。

传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。

2.RS-485总线,在要求通信距离为几十米到上千米时,广泛采用RS-485 串行总线标准。

RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。

加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。

RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。

RS-485用于多点互连时非常方便,可以省掉许多信号线。

应用RS-485 可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。

以往,PC与智能设备通讯多借助RS232、RS485、以太网等方式,主要取决于设备的接口规范。

但RS232、RS485只能代表通讯的物理介质层和链路层,如果要实现数据的双向访问,就必须自己编写通讯应用程序,但这种程序多数都不能符合ISO/OSI的规范,只能实现较单一的功能,适用于单一设备类型,程序不具备通用性。

在RS232或RS485设备联成的设备网中,如果设备数量超过2台,就必须使用RS485做通讯介质,RS485网的设备间要想互通信息只有通过“主(Master)”设备中转才能实现,这个主设备通常是PC,而这种设备网中只允许存在一个主设备,其余全部是从(Slave)设备。

而现场总线技术是以ISO/OSI模型为基础的,具有完整的软件支持系统,能够解决总线控制、冲突检测、链路维护等问题。

... 一.组件,对象模型COM (COM),是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术。

在COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统。

由此带来的好处是多方面的:可以将系统中的组件用新的替换掉,以便随时进行系统的升级和定制;可以在多个应用系统中重复利用同一个组件;可以方便的将应用系统扩展到网络环境下;COM与语言,平台无关的特性使所有的程序员均可充分发挥自己的才智与专长编写组件模块;等等。

COM是开发软件组件的一种方法。

组件实际上是一些小的二进制可执行程序,它们可以给应用程序,操作系统以及其他组件提供服务。

开发自定义的COM组件就如同开发动态的,面向对象的API。

多个COM对象可以连接起来形成应用程序或组件系统。

并且组件可以在运行时刻,在不被重新链接或编译应用程序的情况下被卸下或替换掉。

Microsoft的许多技术,如ActiveX, DirectX以及OLE等都是基于COM而建立起来的。

并且Microsoft的开发人员也大量使用COM组件来定制他们的应用程序及操作系统。

COM所含的概念并不止是在Microsoft Windows操作系统下才有效。

COM并不是一个大的API,它实际上象结构化编程及面向对象编程方法那样,也是一种编程方法。

在任何一种操作系统中,开发人员均可以遵循“COM方法”。

一个应用程序通常使由单个的二进制文件组成的。

当编译器生成应用程序之后,在对下一个版本重新编译并发行新生成的版本之前,应用程序一般不会发生任何变化。

操作系统,硬件及客户需求的改变都必须等到整个应用程序被重新生成。

目前这种状况已经发生变化。

开发人员开始将单个的应用程序分隔成单独多个独立的部分,也既组件。

这种做法的好处是可以随着技术的不断发展而用新的组件取代以有的组件。

此时的应用程序可以随新组件不断取代旧的组件而渐趋完善。

而且利用已有的组件,用户还可以快速的建立全新的应用。

传统的做法是将应用程序分割成文件,模块或类,然后将它们编译并链接成一个单模应用程序。

它与组件建立应用程序的过程(称为组件构架)有很大的不同。

一个组件同一个微型应用程序类似,即都是已经编译链接好并可以使用的二进制代码,应用程序就是由多个这样的组件打包而得到的。

单模应用程序只有一个二进制代码模块。

自定义组件可以在运行时刻同其他的组件连接起来以构成某个应用程序。

在需要对应用程序进行修改或改进时,只需要将构成此应用程序的组件中的某个用新的版本替换掉即可。

COM,即组件对象模型,是关于如何建立组件以及如何通过组件建立应用程序的一个规范,说明了如何可动态交替更新组件。

使用组件的优点: 组件架构的一个优点就是应用可以随时间的流逝而发展进化。

除此之外,使用组件还有一些可以使对以有应用的升级更加方便和灵活的优点,如应用的定制,组件库以及分布式组件等。

使用组件的种种优点直接来源于可以将它们动态的插入或卸出应用。

为了实现这种功能,所有的组件必须满足两个条件:第一,组件必须动态链接;第二,它们必须隐藏(或封装)其内部实现细节。

动态链接对于组件而言是一个至关重要的要求,而消息隐藏则是动态链接的一个必要条件。

二.接口 对于COM来讲,接口是一个包含一个函数指针数组的内存结构。

每一个数组元素包含的是一个由组件所实现的函数地址。

对于COM而言,接口就是此内存结构,其他东西;均是COM不关心的实现细节。

在C++中,可以用抽象基类来实现COM接口。

由于一个COM组件可以实现支持任意数目的接口,因此对于这样的组件,可以用抽象基类的多重继承来实现。

用类来实现组件将比其他方法更为容易。

对于客户来说,一个组件就是一个接口集。

客户只能通过接口才能和COM组件打交道。

从整体上讲,客户对于一个组件可以说是知之甚少的。

通常情况下,客户甚至不必知道一个组件所提供的所有接口。

客户同组件的交互是通过接口完成的。

在客户查询组件其他的接口时,也是通过接口完成的。

这个接口就是IUnknown。

Iunknown接口的定义包含在Win32 SDK中的UNKNOWN.H的头文件中,引用如下: interface IUnknown { virtual HRESULT-_ _stdcall QueryInterface(const IID& iid,void **ppv)=0; virtual ULONG_ _stdcall AddRef( )=0; virtual ULONG_ _Release( )=0; }; 所有的COM都要继承IUnknown。

可以用Iunknown的接口指针来查询该组件的其他的接口,并且每个接口的vtbl中的前三个函数都是QueryInterface,AddRef和Release。

这使得所有的COM接口都可以被当作成IUnknown接口来处理。

由于所有的接口都支持QueryInterface,因此组件的任何一个接口都可以被客户用来获取它所支持的其他接口。

在用QueryInterface将组件抽象成由多个相互独立的接口构成的集合后,还需要管理组件的生命期。

这一点是通过对接口的引用计数实现的。

客户并不能直接控制组件的生命期。

当使用完一个接口而要用组件的另一个接口时,是不能将改组件释放的。

对组件的释放可以由组件在客户使用完所有的组件之后自己完成。

IUnknown的另外两个成员函数AddRef和Release的作用就是给客户提供一种让它指示何时处理完一个接口的手段。

AddRef和Release实现的是一种名为引用技术的内存管理技术。

当客户从组件获得一个接口时,此引用计数值将增1。

当客户使用完某个接口时,组件的引用计数值将减1,当引用计数值为0时,组件可以将自己从内存中删除。

AddRef和Release可以增加和减少这一计数值。

三.创建 将组件分成多个接口只是将单模应用分个成多个部分的第一步,组件需要被放入动态链接库(DLL)中。

DLL是一个组件服务程序,或者说是发行组件的一种方式。

组件实际上应看成是在DLL中实现的接口集。

在客户获取某个组件接口指针之前,它必须先将相应的DLL装载到其进程空间中,并创建此组件。

由于客户组件所需要的所有函数都可以通过某个接口指针而访问到,因此,可以在DLL中引出CreatInstance函数就可以使用户调用它。

之后,可以装载DLL并调用其中的函数。

此功能可由COM库函数CoCreateInstance来实现。

CoCreateInstance创建组件的过程是:传给它一个CLSID,然后它创建相应的组件,并返回指向所请求的接口的指针。

但CoCreateInstance没有给客户提供一种能控制组件创建过程的方法,缺乏一定的灵活性。

事实上,常用类厂来创建组件。

类厂就是一个带有能够创建其他组件的接口的组件。

客户先创建类厂本身,然后再用一个接口(如IClassFactory)来创建所需的组件。

然后还要用DllRegisterSever在Windows中注册这个组件。

四.复用 COM组件可以被复用,它支持“接口继承”。

这种继承指的是一个类继承其基类的类型或接口。

抽象基类是一种最纯粹的接口继承,并且正好也被用来实现COM接口。

在COM中,我们可以用包容和聚合来对组件进行改造。

包容是在接口级完成的。

外部组件包含指向内部接口的指针。

此时,外部组件仅仅是内部组件的一个客户而已,它将使用内部组件的接口来实现它自己的接口。

外部组件也可以通过将调用转发给内部组件的方法来重新实现内部组件所支持的某个接口。

并且外部组件还可以在内部组件代码的前后加上一些代码以对接口进行改造。

聚合是包含的一种变化形式。

当外部组件聚合了某个内部组件的一个接口时,它并没有象包容那样重新实现此接口并显式的将调用请求转发给内部组件。

相反,外部组件直接把内部组件的接口指针返回给客户。

使用这种方法,外部组件将无需重新实现并转发接口中的所有函数了。

包容和聚合为实现组件的复用提供了一种极具鲁棒性的机制。

在组件构架下,客户于组件的实现完全隔离开了。

五.小结 以上是关于COM的一些基础知识。

遵循COM规范编写的组件将会极大的改变传统的软件生产方式,具有广阔的发展前景。

这也将为软件工程学引入新的内容和方法。

query接口的list方法和iterate方法有什么区别

对于list方法而言,实际上Hibernate是通过一条Select SQL获取所有的记录。

并将其读出,填入到POJO中返回。

而iterate 方法,则是首先通过一条Select SQL 获取所有符合查询条件的记录的id,再对这个id 集合进行循环操作,通过单独的Select SQL 取出每个id 所对应的记录,之后填入POJO中返回。

也就是说,对于list 操作,需要一条SQL 完成。

而对于iterate 操作,需要n+1条SQL。

看上去iterate方法似乎有些多余,但在不同的情况下确依然有其独特的功效,如对海量数据的查询,如果用list方法将结果集一次取出,内存的开销可能无法承受。

另一方面,对于我们现在的Cache机制而言,list方法将不会从Cache中读取数据,它总是一次性从数据库中直接读出所有符合条件的记录。

而iterate 方法因为每次根据id获取数据,这样的实现机制也就为从Cache读取数据提供了可能,hibernate首先会根据这个id 在本地Cache 内寻找对应的数据,

解决COM 组件调用 QueryInterface原因是什么

我们都知道,COM组件编程中,QueryInterface实现的接口之间的查询,通过这个接口,我们可以获取该组件中其他的接口。

但是,QueryInterface实现的原理是什么呢,首先,我们看一下基本的COM实现。

一般来说,COM是 通过多继承实现多个接口,如下图

请问各位高手,**ppv是什么意思? HRESULT QueryInterface([in] REFIID riid,[out] void **ppv);

ppv是按第一个参数查询后得到的接口指针,该指针指向了这个接口的虚函数表,而在这个虚函数表中存放的就是该接口中函数的指针 。

p是命名法则中的前缀,表示指针。

void* 一般命名为pv. 指向void*的指针 就是void** ppv了。

void demo(IUnknown* pI) {   // 定义一个接口指针   IM* pIM = NULL;   // 查询接口IM   HRESULT hr = pI->QueryInterface(IID_IM, (void**)&pIM);   if (SUCCEEDED(hr))   {   // 通过接口调用函数   pIM->Fun();   } }

requestmapping是什么意思

request mapping 请求映射 例句筛选 1. There exists a query interface matching problem while mappingrequest between the unique query interface and local query interface. 将统一查询接口的请求映射到各个本地查询接口,需要解决查询接口匹配问题。

2. es with a set of Eclipse plugins that allow users to pickup a Java object and request automatic mapping to a COBOLstructure LegStar还提供了Eclipse插件,允许用户选择Java对象和请求自动映射到COBOL结构

friendhosting:(优惠55%)大促销,全场VPS降价55%,9个机房,不限流量

每年的7月的最后一个周五是全球性质的“系统管理员日”,据说是为了感谢系统管理员的辛苦工作....friendhosting决定从现在开始一直到9月8日对其全球9个数据中心的VPS进行4.5折(优惠55%)大促销。所有VPS基于KVM虚拟,给100M带宽,不限制流量,允许自定义上传ISO...官方网站:https://friendhosting.net比特币、信用卡、PayPal、支付宝、微信、we...

HaloCloud:日本软银vps100M/200M/500M带宽,,¥45.00元/月

halocloud怎么样?halocloud是一个于2019下半年建立的商家,主要提供日本软银VPS,广州移动VDS,株洲联通VDS,广州移动独立服务器,Halo邮局服务,Azure香港1000M带宽月抛机器等。日本软银vps,100M/200M/500M带宽,可看奈飞,香港azure1000M带宽,可以解锁奈飞等流媒体,有需要看奈飞的朋友可以入手!点击进入:halocloud官方网站地址日本vp...

wordpress投资主题模版 白银黄金贵金属金融投资网站主题

wordpress投资主题模版是一套适合白银、黄金、贵金属投资网站主题模板,绿色大气金融投资类网站主题,专业高级自适应多设备企业CMS建站主题 完善的外贸企业建站功能模块 + 高效通用的后台自定义设置,简洁大气的网站风格设计 + 更利于SEO搜索优化和站点收录排名!点击进入:wordpress投资主题模版安装环境:运行环境:PHP 7.0+, MYSQL 5.6 ( 最低主机需求 )最新兼容:完美...

queryinterface为你推荐
mdm乳化剂MDM起什么作用建站abc怎么取消技术支持: 建站ABC图片地址如何根据一张图片的地址找到它在哪发的oncontextmenu如何禁用ImageButton的右键?oncontextmenu鼠标右键很好用,但是左键一点反应也没有,请问是什么原因呢?oracle索引如何在ORACLE数据库的字段上建立索引郭凡生馬云的簡介3Qvipjrvipjr英语怎么样?靠谱吗?spawning在c语言编译时出现Error spawning cl.exe,是怎么回事?民生电商陆金所、民生电商哪个更适合投资?
虚拟空间哪个好 安徽双线服务器租用 上海vps 万网免费域名 bluehost godaddy 贵州电信宽带测速 http500内部服务器错误 轻博 免费个人网站申请 北京双线 腾讯实名认证中心 免费测手机号 33456 Updog 512mb 万网空间管理 论坛主机 华为k3 如何登陆阿里云邮箱 更多