zoukankan      html  css  js  c++  java
  • Windows 7驱动开发系列(五)WDM驱动设计原则

       在上一篇说过了WDM模型的介绍之后,我们来继续说一下内核模式驱动程序的设计原则

         1.一般来说内核模式的驱动要用C编写,因为这样才有利于针对各个不同的平台进行编译和链接.
         2.可配置,不要假定你的驱动程序能申请到某个特定的IO或者某些RESOURCE,在这方面永远等待系统的分派而不要写任何硬代码.
         3.做好你的程序可能随时被打断也随时有可能被调度起来.
          4.要考虑多核系统的安全性:
           这部分比较关键,一定要记得不能让一个CPU在更改的数据,另外一个CPU不要碰.所以当你需要更改一部分关键数据的时候,根据上一条你的程序随时可能被打断,那么这时候就需要加上锁(SPIN LOCK)
        5.虽然是用C来编写程序但是也要记得面向对象编程的原则.在WINDOWS 驱动中对象分为三种,文件对象,设备对象和驱动对象.比如利用我们后面会说到的IOMANAGER就可以创建出DEIVCE OBJECT(设备对象),后面的操作都是针对这个设备对象来进行的.这其实是面向对象设备当中比较重要的原则封装.
       6最后比较重要的一点就是要能够支持异步的IO.
          
  • 相关阅读:
    Selenium WebDriver 中鼠标和键盘事件分析及扩展
    Windows Mobile 常用键值VK对应表
    application.yml
    示例
    秒懂HTTPS接口(实现篇)
    秒懂HTTPS接口(接口测试篇)
    秒懂HTTPS接口(原理篇)
    SpringBoot全局捕获异常示例
    官方文档
    Python基础02——控制流
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/2458379.html
Copyright © 2011-2022 走看看