怎么在vs2022中将C语言代码编译为Windows驱动程序

  1. 在VS2022中新建KMDF空项目起名为HelloWorld.

  2. VS2022中选择realease与x64.

  3. 添加源文件entry.c并输入源码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    #include <ntddk.h>

    //卸载驱动函数
    VOID DriverUnload(PDRIVER_OBJECT pDriver)
    {
    pDriver;
    //打印函数
    KdPrint(("驱动卸载成功\r\n"));
    }

    //加载驱动函数
    NTSTATUS DriverEntry(PDRIVER_OBJECT pDriver, PUNICODE_STRING pReg)
    {
    pDriver;
    pReg;
    //打印函数
    KdPrint(("驱动加载成功\r\n"));
    KdPrint(("我的第一个驱动程序\r\n"));

    //指定卸载驱动函数
    pDriver->DriverUnload = DriverUnload;

    //返回值 STATUS_SUCCESS 代表成功
    return STATUS_SUCCESS;
    }
  4. 点击编译。

  5. 解决编译错误

    问题:如果出现报错 Error -1 "Inf2Cat, unknown failure." Double click to see the tool output.

    解决方法一:属性->Inf2Cat->Use Local Time->选择yes.

    解决方法二:属性->Inf2Cat->Run Inf2Cat->选择No.

  6. 点击编译

  7. 成功生成HelloWorld.sys文件。