ASP+COM技术在嵌入式Webserver中的应用
1 .COM组件介绍
COM(Component Object Model),即组件对象模型,它是微软公司开发的一种新的软 件开发技术,Microsoft 的许多技术,如 ActiveX、DirectX、以及 OLE 等都是基于 COM 而建立起来的。COM 标准包括规范和实现两大部分,规范部分定义了组件和组件之间通信的 机制,这些规范不依赖于任何特定的语言和操作系统,只要按照该规范,任何语言都可以使 用; COM 标准的实现部分是 COM 库,COM 库为 COM 规范的具体实现提供了一些核心服务。
有了这种跨语言设计的方法,我们就可以通过动态网页技术,也就是嵌入式主板提供的 WebServer 功能,利用 VBScript 或者 JavaScript 使用 COM 提供的接口方法,完成远程监 控和远程控制以及远程更改等功能。利用这种跨平台的方法,我们还可以把应用程序做的工作,做成 COM 组件,那么其它语言都可以实现直接调用,即可增加了团队合作的效率,有可以满足一些特定的需求。
2. 运用VS2005创建COM组件
我们使用ATL创建一个标准的COM组件。该组件提供一个ICOM_NetParms接口,并通过ICOM_NetParms接口的ChangeNetParms()方法更改系统的网络参数。下面给出生成COM组件的全部过程。
(1) 使用VS2005|VC++新建一个智能设备|ATL智能设备项目SetNetParms,如下图3-1所示。单击“确定”后,进入如图3-2所示的平台向导,选择sdk9263(ARMV4I)。下一步进入3-3所示的界面中,服务器类型选择“动态链接库(DLL)”,附加选项选择“支持MFC”复选。
图3-1新建ATL工程
图3-2 平台选择向导
图3-3 应用程序设置向导
(2)添加COM对象
选择VS2005主菜单“项目|添加类”,选择添加“ATL简单对象”,如图3-4所示。
下面进入ATL简单对象向导,如图3-5所示,类名为COM_NetParms。然后再切换到如图3-6所示的页面中选择线程模型为“自由”,接口为“双重”,聚合为“是”。
图3-4 添加ATL简单对象
图3-5 “ATL简单对象向导”界面
图3-6 ATL Object Wizard属性对话框
(3)为对象添加接口方法
选择vs2005主菜单“视图|类视图”,选中ICOM_NetParms,单击鼠标右键,在弹出的快捷菜单中选择“添加方法(M)”项,即可为ICOM_NetParms对象添加接口方法了。
图3-7是为接口添加方法的对话框界面,输入方法名ChangeNetParms和参数,然后单击“完成”按钮,就添加了一个ChangeNetParms(BSTR ip, BSTR mask, BSTR gateway)方法了,三个参数的类型都为BSTR型。
图3-7 为接口添加方法的对话框界面
下面就要来具体实现ChangeNetParms方法了。点击“解决方案”,打开源文件下的COM_NetParms.cpp文件,即可为ChangeNetParms方法添加代码了。具体实现代码请参考工程文件。
3 .ASP调用COM组件
(1)注册COM组件
ASP调用COM组件前需要在目标板上注册COM组件,方法ADOCE注册方法。
(2)ASP中调用COM组件中的方法
在asp中调用COM组件的方法很简单,首先创建一个实体,通过实体调用方法就行了。Vbscript的实现代码如下:
set NetObj=CreateObject("SetNetParms.COM_NetParms") '创建对象
NetObj.ChangeNetParms a,b,c
在这里值得注意的是参数类型要匹配,下面介绍2中常用的数据类型转换方法。
BSTR转换为LPTSTR:
CComVariant v_1( ipadds );
v_1.ChangeType( VT_BSTR ); // 转换为字符串
CString csip(v_1.bstrVal);
LPTSTR pip =(LPTSTR)(LPCTSTR)csip;
CString转换为VARIANT:
CString str;
VARIANT* NetParms;
NetParms->vt = VT_BSTR;
NetParms->bstrVal = str.AllocSysString(); //cstring to bstr
ASP+COM技术在嵌入式Webserver中的应用相关推荐
- 网络通讯技术在嵌入式系统中的应用
网络通讯技术在嵌入式系统中的应用 一.嵌入式系统的由来 1.1 嵌入式系统的概念: 嵌入式系统是以应用为中心,以现代计算机技术为基础,能够根据用户需求(功能.可靠性.成本.体积.功耗.环境 ...
- 看门狗(Watch Dog)是嵌入式系统中一种常用的保证系统可靠性的技术,()会产生看门狗中断。【详细!小白也能看懂!】
看门狗(Watch Dog)是嵌入式系统中一种常用的保证系统可靠性的技术,()会产生看门狗中断. A. 软件喂狗 B. 处理器温度过高 C. 外部中断 D. 看门狗定时器超时 解析: 思考方式: 每个 ...
- linux卸载cf卡命令,嵌入式Linux 中CF卡的驱动和管理技术研究
在嵌入式Linux系统中,为了在没有PCMCIA控制器的情况下仍然要利用CompactFlash存储卡(简称CF卡)作为存储设备,作者从CF卡的硬件特性入手,在系统层基于CF卡的memory寻址访问方 ...
- python嵌入式系统开发技术_Python在嵌入式项目中的辅助开发_彭树林
效率和质量至关重要.本文要介绍的Python脚本语言和众多 第三方函数库就是这样的利器:易学.高效.功能强,值得推 广. 1 Python简介 Python是一种流行的动态脚本语言,经历了十多年的发展 ...
- 网页里如何嵌入服务器控制,在嵌入式设备中实现Web动态服务与Web控制的实现思路...
随着网络技术的不断发展,嵌入式系统将不断地和网络相结合.嵌入式Web技术是计算机领域研究的热点,其优点是开发成本低.通用性强,能运行在8位或16 位MCU环境中,其丰富的Web用户图形界面使得嵌入式设 ...
- 嵌入式开发中DSP与FPGA的关系
嵌入式开发中DSP与FPGA的关系 常所说的单片机侧重于控制,不支持信号处理,属于低端嵌入式处理器,arm可以看做是低端单片机升级版,支持操作系统管理,更多接口如网卡,处理能力更强;fpga是可编程逻 ...
- ASP.NET 2.0 正式版中无刷新页面的开发
ASP.NET 2.0 正式版中无刷新页面的开发 在已经发布的 ASP.NET2.0 中,无刷新页面开发相关部分同 beta2 有不少改动.而且在越来越多的 Ajax 开发包被开发出来的情况下, AS ...
- Spread for ASP.NET技术白皮书
引言 随着互联网在全球范围内的快速发展,越来越多的中国企业开设自己的企业网站,向外展示自己的服务和产品.同时,企业内部的办公自动化系统.客户关系管理系统.内容发布系统等其它系统也逐渐开始使用以B/S为 ...
- 嵌入式系统中进程间通信的监视方法
概述 复杂的嵌入式系统中,常常同时运行着相当多的进程.这些进程之间频繁的进行着大量的通信动作.进程的运行状态与这些不断发生的通信有着直接和紧密的联系.通过对进程间通信的监视,开发人员可以掌控系统内部运 ...
最新文章
- oracle adf 使用,ORACLE ADF 问题总结
- Android 使用CornerPathEffect绘制圆角矩形
- 暖通lisp快捷键_CAD 快捷键一览
- 网易智慧企业 Node.js 实践(3)| 灰度环境和应用监控
- 6月开招|工业互联才是王道,最高可达50k!
- nssl1191,P2700-逐个击破(平津战役)【并查集】
- SVN版本管理系统的使用(CentOS+Subversion+Apache+Jsvnadmin+TortoiseSVN)
- 如何在IEDA中连github
- shell编程之 cut命令详解
- springmvc错点集结
- 机器学习:激活函数的作用和原理
- 联想拯救者y7000p加内存条_联想 拯救者Y7000P 如何插入SD卡?
- git 详解-进阶篇
- 【板栗糖GIS】如何免费下载landsat8的遥感影像数据
- 金融数学作业——二叉树方法定价(上证50ETF期权)
- 克尼汉的c程序设计语言,c程序设计语言 英文版
- 一般什么企业需要开展等保三级测评工作
- 猫影视配置2022.06.04
- 微软股价 2019 年飙升 55.3%,创十年来最佳表现!
- 【学术相关】深大博士后被双非高校院长拒收简历?博士毕业出路何在?
热门文章
- php 安装php soap.dll,php_soap.dll下载
- 简述List、Set、Map类型的集合的各自特点
- 山东科技大学计算机等级,关于2019年03月全国计算机等级考试报名工作的通知
- oracle查看列状态unused,Oracle9i下将列设为UNUSED时的系统行为
- 小米手机无法连上WIFI网络的解决方案
- 【Redis】解析Redis和Java传递数据
- loadrunner controller:实时查看VUser的运行情况
- pentaho DI--- Tutorial (spoon)
- pytorch中的squeeze和unsqueeze
- [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第24篇]描述一个二进制m组的滑动窗口指数算法