WindowsCE中的服务-深圳职业技术学院精品课程展.ppt_第1页
WindowsCE中的服务-深圳职业技术学院精品课程展.ppt_第2页
WindowsCE中的服务-深圳职业技术学院精品课程展.ppt_第3页
WindowsCE中的服务-深圳职业技术学院精品课程展.ppt_第4页
WindowsCE中的服务-深圳职业技术学院精品课程展.ppt_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目11 基于WindowsCE5 0的嵌入式Web服务器 2 本节课程主要知识点WindowsCE服务程序 重点和难点 重点WindowsCE服务难点服务中的网络服务 WindowsCE服务程序 WindowsCE服务程序 在设备中 经常需要有一些程序从开机就运行 一直运行到设备关闭为止 在整个设备开机期间不会关闭 这类程序一般是在系统的后台为用户提供一些服务 这类程序被称为服务 Service 程序 Service exe 在WindowsCE中 有许多网络服务器都是通过服务实现的 如文件服务器 FTP服务器 Telnet服务器 打印服务器及HTTP服务器 服务管理器是由进程Service exe来实现的 其工作机制与功能与设备管理器Device exe非常相似 Device exe负责加载所有的驱动程序 Service exe负责加载所有的服务 Service的加载 Service exe是操作系统的一个可行组件 在系统启动时被内核加载 Service exe加载前要求Device exe先行加载 服务程序的实现 在WindowsCE中 实现一个服务程序与实现流式接口驱动程序非常相似 所有有服务程序均以动态链接库提供 并导出其中的相关接口函数 与流式接口驱动程序类似 服务程序有也一个3字符的Prefix和一个Index 这些信息也在注册表中被设置 服务的启动 WindowsCE的服务有两种启动方式通过注册表中设置相应的注册表项 系统启动时 让Service exe自动加载服务 应用程序使用函数加载服务 服务的自启动 当WindowsCE启动时 Service exe搜索系统注册表中的HKEY LOCAL MACHINE Service然后枚举Service下的所有子键 并依次加载所有的服务 服务的手工加载 应用程序通过服务的API函数动态加载服务程序 WindowsCE提供ActivateService 函数来实现服务的动态加载 独立服务 StandloneService 一般情况下 Service exe进程负责加载所有的服务 在一些特殊情况下 可能需要将一个服务由Service exe进程单独加载 从而实现与其他服务的隔离 如果服务在Service exe进程中单独加载 这个服务称为独立服务 独立服务的特点 独立服务不能被应用程序使用CreatFile 和GetServiceHandle 函数打开 并不是所有的服务都支持被配置成独立服务 如WebServer 独立服务独立占用内存的一个Slot 需要统筹考虑Slot资源的调配 独立服务的实现 要把某一个服务配置成独立服务 只需配置注册表键HKEY LOCAL MACHINE Service 服务 下的Context项 如果Context项设为2 则表明该服务为独立服务 超级服务 SuperService 在WindowsCE下 许多服务程序都是作为网络服务服务器存在的 这些服务都会侦听某个网络端口 当有客户连接这些端口时 服务程序会给客户提供相应的服务 这样的服务 WindowsCE称之为超级服务 超级服务与网络服务 超级服务实现了Service exe对某些端口的监听 当有客户连接时 Service exe会通知相应的服务程序去处理该请求 网络服务大都是超级服务 有了超级服务 一些使用网络提供的服务将会大大简化 超级服务的配置 要把某个服务配置为超级服务 只需在注册表中把HKEY LOCAL MACHINE Service 服务 下的Context项设置为1 当服务管理器在加载该服务时 会使用ServiceIoControl 函数向服务发送相关控制字 如果服务也支持超级服务 只需在其IOControl 接收该控制字 并返回True 就可以启动超级服务了 配置端口号 服务管理器自动侦听的端口也可在注册表中配置 端口号只需在注册表HKEY LOCAL MACHINE Service 服务 Accept下面增加相应项即可服务管理器会读取注册表 然后调用Socket函数侦听相应的端口 超级服务的过程 当客户端在相关端口有请求时 服务管理器会向服务发出IOCTL SERVICE CONNECTION消息 同时把socket的句柄作为参数传递给服务程序 服务程序对连接进行进一步的控制和操作 典型的超级服务 WebServer WindowsCE的WebServer是WindowsIIS的一个子集 提供了将嵌入式设备配置为一个WebServer的功能 嵌入式WebServer在实际的应用中具有非常实用的意义 尤其在无线自动检测有更重要的作用 WebServer的声明文件 def LIBRARYHTTPDEXPORTSHttpInitializePRIVATEHttpdStartPRIVATEHttpdStopPRIVATEHttpdStopAndRestartHTP InitPRIVATEHTP DeinitPRIVATEHTP OpenPRIVATEHTP ClosePRIVATEHTP ReadPRIVATEHTP WritePRIVATEHTP SeekPRIVATEHTP IOControlPRIVATEHTP PowerUpPRIVATEHTP PowerDownPRIVATEHttpInitializeFromE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论