zoukankan      html  css  js  c++  java
  • 第一个驱动程序

    环境搭建:

    开发环境 对应版本 官方声明能支持的系统版本
    vs2017 WDK 10 win7、win8、win8.1、win10
    • 打开VS新建工程时会有驱动开发选项,建好项目后选择编译哪个版本的驱动程序

    • 第一个程序
    #include<ntddk.h>
    
    VOID DriverUnload(PDRIVER_OBJECT driver)
    {
    UNREFERENCED_PARAMETER(driver);
    DbgPrint("卸载"); // kdprint也可以
    }
    
    // 入口函数
    NTSTATUS DriverEntry(PDRIVER_OBJECT driver, // 驱动对象
    PUNICODE_STRING path) // 路径
    {
    UNREFERENCED_PARAMETER(path);
    DbgPrint("First Driver");
    __asm int 3
    driver->DriverUnload = DriverUnload;
    return STATUS_SUCCESS;
    }
    • 开始编译

    驱动程序的编译要求比较高,但实际上并不需要这样,可以将编译的等级降低,则能够直接编译成功

    由于是在32位Windows7的虚拟机中运行,所以配置如下:

    修改1:

    修改2:

    修改3:

    • 环境配置完成生成程序,将程序放入调试的虚拟机中,双机调试。使用加载器加载编写好的驱动程序,如果需要调试程序,在驱动程序中下断点需要手动的在行中间加上

    __asm int 3 断点,启动之后程序就在断点出中断。

  • 相关阅读:
    CAP分布式
    专职DBA-MySQL数据库开篇
    os.sep
    DocStrings
    Python如何获取脚本的参数
    LVM基础命令
    VoAndEntityTrans
    短信倒计时
    springboot在eclipse上搭建项目一(无页面)
    springboot问题
  • 原文地址:https://www.cnblogs.com/TJTO/p/11421282.html
Copyright © 2011-2022 走看看