第3章 Windows驱动编译环境配置、安装及调试
2011-06-18 19:43
288 查看
P51 在VC编译器中,默认使用C语言的调用约定。而在Windows驱动程序的编写中,需要使用标准调用约定,尤其是入口函数。
P52 默认情况下,编译器会根据源文件的扩展名,来判断使用哪种方式编译。扩展名是.cpp时,使用C++方式编译;扩展名是.c时,使用C编译器方式编译。
P53 Windows操作系统规定,在内核模式的程序是无法调用用户模式的程序的,而用户模式的程序可以调用内核模式下的程序(这需要严格的参数审查)。
P57 其实不管是build工具、nmake工具、还是VC集成开发环境,最终调用的都是cl.exe(编译器)和link.exe(链接器),所以其原理都是大体相同的。
P68 编写程序加载NT式驱动
加载步骤:(1)打开SCM管理器;(2)创建服务;(3)启动服务;(4)关闭服务;(5)关闭SCM管理器。
卸载步骤:(1)打开SCM管理器;(2)打开服务;(3)暂停服务;(4)删除服务;(5)关闭服务;(6)关闭SCM管理器。
实际上,windows DDK中提供的sample中有关于安装NT式驱动的代码。那里面的代码应该写的比较好吧。
P81 WDM式驱动程序的安装会在三个方面修改注册表,分别是硬件子键(Hardware)、类子键(Class)、服务子键(Service)。
P52 默认情况下,编译器会根据源文件的扩展名,来判断使用哪种方式编译。扩展名是.cpp时,使用C++方式编译;扩展名是.c时,使用C编译器方式编译。
P53 Windows操作系统规定,在内核模式的程序是无法调用用户模式的程序的,而用户模式的程序可以调用内核模式下的程序(这需要严格的参数审查)。
P57 其实不管是build工具、nmake工具、还是VC集成开发环境,最终调用的都是cl.exe(编译器)和link.exe(链接器),所以其原理都是大体相同的。
P68 编写程序加载NT式驱动
加载步骤:(1)打开SCM管理器;(2)创建服务;(3)启动服务;(4)关闭服务;(5)关闭SCM管理器。
卸载步骤:(1)打开SCM管理器;(2)打开服务;(3)暂停服务;(4)删除服务;(5)关闭服务;(6)关闭SCM管理器。
实际上,windows DDK中提供的sample中有关于安装NT式驱动的代码。那里面的代码应该写的比较好吧。
P81 WDM式驱动程序的安装会在三个方面修改注册表,分别是硬件子键(Hardware)、类子键(Class)、服务子键(Service)。
相关文章推荐
- 第三章 Windows驱动编译环境配置、安装和调试
- 章三.Windows驱动编译环境配置、安装及调试(上)
- 章三.Windows驱动编译环境配置、安装及调试(下)--驱动加载
- Windows内核 - 调试:符号文件和Windbg的安装与环境配置
- Windows内核调试:符号文件和Windbg的安装与环境配置
- 搭建Windows系统下php开发环境有很多种方式,比如LAMP的配置、php IDE和调试工具的选择等等。根据每个人喜好不同有很多配置方式。这里主要介绍的是利用XAMPP集成安装和配置apache、
- Windows驱动程序开发基础(四)驱动的编译调试和安装
- WDF驱动的编译、调试、安装 分类: windows驱动程序WDF 2015-01-09 08:53 457人阅读 评论(0) 收藏
- 驱动开发编译环境的安装及调试
- Windows环境下sass安装以及Hbuilder和WebStrom的编译配置
- Windows驱动程序开发基础(四)驱动的编译调试和安装
- Windows驱动调试环境配置
- Windows内核调试:符号文件和Windbg的安装与环境配置
- 展讯7731平台驱动调试总结(1)---- 系统编译环境安装
- Sublime Text:Windows下配置C 编译环境和GDB调试环境
- windows下Bullet 2.82编译安装(Bullet Physics开发环境配置)
- 配置 Windows 下的 nodejs C++ 模块编译环境 安装 node-gyp
- windows下安装NetBeans IDE & 配置C++编译环境
- Windows 下JAVA 1.8的安装以及环境变量的配置