驱动编译成功但没有生成.sys文件

问题描述 投票:0回答:0

我正在尝试使用 Windows Driver Kit 在 Visual Studio 中编译一个简单的内核驱动程序。编译过程完成,没有任何错误,但我似乎无法在输出文件夹中找到预期的 .sys 文件。

这是驱动程序入口点的代码片段:


#include <ntddk.h>

NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
{
    UNREFERENCED_PARAMETER(DriverObject);
    UNREFERENCED_PARAMETER(RegistryPath);

    KdPrint("DriverEntry called\n");
    return STATUS_SUCCESS;
}

当我构建项目时,输出日志显示如下:


Build started...
1\>------ Build started: Project: fltdrv, Configuration: Debug x64 ------
1\>entry.c
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
========== Build started at 10:56 AM and took 00.781 seconds ==========

我的输出路径设置为

$(SolutionDir)$(Platform)\$(Configuration)\
,解析为
C:\Users\myuser\source\vscode\myproject\driver\x64\Debug
。但是,此目录中没有生成 .sys 文件。

我使用的是正确的工具链,我已经确认我的代码是正确的,.inf 文件中没有错误。我还检查了项目属性,它们似乎是有序的。

我正在使用启用了管理员权限的 Visual Studio 2022。

我尝试了什么:

  • 我已将构建配置设置为调试和 x64。我希望这会在输出目录中生成一个 .sys 文件,但它不会。
  • 我仔细检查了构建日志。显示正在编译entry.c文件,没有任何错误和警告,构建成功。
  • 我检查了代码,包括 DriverEntry 函数和任何其他必要的函数。没有语法错误或其他问题会阻止生成 .sys 文件。
  • 我已经确认输出路径设置为
    $(SolutionDir)$(Platform)\$(Configuration)\
    ,它解析到正确的输出目录。
  • 唉,我尝试以管理员身份运行 Visual Studio,但无济于事。

尽管执行了所有这些步骤,但不会在输出目录中生成 .sys 文件。

对于未生成 .sys 文件的原因的任何帮助或见解将不胜感激。提前谢谢你!

windows visual-studio kernel driver wdk
© www.soinside.com 2019 - 2024. All rights reserved.