VS2005开发Windows CE 6.0 ISAPI教程

需积分: 16 5 下载量 86 浏览量 更新于2024-09-09 收藏 313KB PDF 举报
"wince6.0下web开发(二)之VS2005开发ISAPI" 在Windows CE 6.0环境下进行Web开发时,一个重要的方面是使用Visual Studio 2005 (VS2005) 开发ISAPI (Internet Server Application Programming Interface) 扩展。ISAPI是微软为IIS (Internet Information Services) 提供的一种API,允许开发者创建高性能的Web应用程序和服务。以下是一份简化的步骤,指导如何在VS2005中构建ISAPI项目: 1. **建立Project**: 首先,你需要在VS2005中创建一个新的项目。这通常涉及选择"新建项目",然后选择适当的项目模板,例如C++ Win32 Console Application或Dynamic Link Library (DLL)。ISAPI扩展通常是DLL形式,因为它们作为IIS的一部分被加载和执行。 2. **选择SDK**: 在创建项目的过程中,你需要选择对应的Windows CE 6.0 SDK。这确保了编译器知道如何为目标平台生成代码,并且能够访问CE特有的库和头文件。 3. **删除默认的dllmain函数**: 创建的项目可能包含默认的dllmain函数,这是非ISAPI DLL的入口点。在开发ISAPI扩展时,你需要将其删除或注释掉,因为它不是ISAPI的必要部分。 4. **引入ISAPI示例代码**: 来自`\WINCE600\PUBLIC\SERVERS\SDK\SAMPLES\HTTP\FILTERS`的`tracker.cpp`包含了ISAPI扩展的基本结构。你需要将这部分代码复制到你的项目中,这将包含处理HTTP请求的逻辑。 5. **创建和编辑tracker.def文件**: 这个文件定义了DLL导出的函数。在ISAPI扩展中,这通常包括`HttpExtensionProc`,它是ISAPI的核心函数,负责处理来自IIS的请求。将`tracker.def`的内容添加到项目中,确保IIS能够正确地调用你的ISAPI扩展。 6. **编译和生成DLL**: 完成上述步骤后,你可以编译项目生成DLL文件。这个DLL包含了ISAPI扩展的实现,可以被IIS加载并执行。 7. **生成新的Image文件**: 最后,将编译生成的DLL集成到Windows CE 6.0的映像中。这通常涉及到创建或更新一个配置文件,指定新的DLL应被包含在内,然后使用Platform Builder生成新的操作系统映像。 8. **部署和测试**: 一旦新的映像被创建,它需要被部署到Windows CE设备上,然后通过IIS进行测试。如果一切按计划进行,ISAPI扩展应该能够接收和处理来自Web服务器的HTTP请求。 请注意,ISAPI开发涉及深入理解HTTP协议、Windows CE的内存管理和线程管理,以及如何与IIS进行交互。开发过程中,调试可能会比较困难,因为大多数时候需要在目标设备上进行,可能需要使用远程调试工具。此外,ISAPI的性能优化也非常重要,因为Web服务通常需要处理大量并发请求。
2009-01-13 上传
《Windows CE API手册》是Blitz Force团队继 Xarm和ROS开发系统之后之后又一重要作品。本手册收录并翻译了 MSDN Library for Visual Studio 2008 中超过2000 个API函数和宏的资料信息。分为:系统函数、COM函数、驱动函数、网络通信4个大类,有以下特点: 01. 资料权威。本手册中收录的绝大多数函数和宏都取自微软MSDN,权威性比较有保证。部分从DLL中找到的API在MSDN中尚未介绍。我们收录这部分MSDN未介绍的API主要是认为这些API似乎比较重要,希望有熟悉这部分API使用的高手能够多多指教。 02. 分类详细。本手册根据API函数的功能进行了详细分类。通过分类 方便读者查找和扫描学习API,提高学习效率。 03. 提供编程示例和开发经验。本手册取自Xarm开发系统,我们已经用Xarm系统试验了1000个左右的函数,在试验中获得的经验教训都保存在本手册中。用户使用本手册除了可以查询函数的使用方法,还可以参考我们提供的心得体会加深对API的理解。查看Xarm编写的函数示例可以到我们的联系站点下载Xarm 1.0。 04. 不断更新。本手册1.0版在2008年4月底完成后,发给Blitz Force队员做内部测试并收到很多反馈意见,本次发布的是2.0版。我们还会继续努力发布新的版本,根据新系统增加新函数,不断完善旧函数说明,提供更多示例。希望使用本手册的朋友如果发现手册中有错误或者有好的改进意见给我们发邮件或者留言。《作者简介》中有详细的联系方式。