window 11 环境下WDK版本已更新

下载 Windows 驱动程序工具包 (WDK) - Windows drivers | Microsoft Docs

windows 11最新的WDK版本已出,对应的SDK版本 22000.1.210604-1628,目前无法在Visual Studio Installer中下载

驱动环境配置与安装

1.首先安装Visual Studio 2019或其他版本

2.下载SDK 22000.1.210604-1628.co_release_WindowsSDK.ISO直接解压安装。

 一直next即可。

3.下载window11 对应的wdk.

使用

新建KMDF驱动项目测试

 下面开启我们的第一个驱动helloword 开发

#include <ntddk.h>
#include <wdf.h>
DRIVER_INITIALIZE DriverEntry;
EVT_WDF_DRIVER_DEVICE_ADD KmdfHelloWorldEvtDeviceAdd;

NTSTATUS
DriverEntry(
    _In_ PDRIVER_OBJECT     DriverObject,
    _In_ PUNICODE_STRING    RegistryPath
)
{
    // NTSTATUS variable to record success or failure
    NTSTATUS status = STATUS_SUCCESS;

    // Allocate the driver configuration object
    WDF_DRIVER_CONFIG config;

    // Print "Hello World" for DriverEntry
    KdPrintEx((DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "KmdfHelloWorld: DriverEntry\n"));

    // Initialize the driver configuration object to register the
    // entry point for the EvtDeviceAdd callback, KmdfHelloWorldEvtDeviceAdd
    WDF_DRIVER_CONFIG_INIT(&config,
        KmdfHelloWorldEvtDeviceAdd
    );

    // Finally, create the driver object
    status = WdfDriverCreate(DriverObject,
        RegistryPath,
        WDF_NO_OBJECT_ATTRIBUTES,
        &config,
        WDF_NO_HANDLE
    );
    return status;
}

NTSTATUS
KmdfHelloWorldEvtDeviceAdd(
    _In_    WDFDRIVER       Driver,
    _Inout_ PWDFDEVICE_INIT DeviceInit
)
{
    // We're not using the driver object,
    // so we need to mark it as unreferenced
    UNREFERENCED_PARAMETER(Driver);

    NTSTATUS status;

    // Allocate the device object
    WDFDEVICE hDevice;

    // Print "Hello World"
    KdPrintEx((DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "KmdfHelloWorld: KmdfHelloWorldEvtDeviceAdd\n"));

    // Create the device object
    status = WdfDeviceCreate(&DeviceInit,
        WDF_NO_OBJECT_ATTRIBUTES,
        &hDevice
    );
    return status;
}

编译配置 

1.代码写好后,在左侧工程名(hellodrv)上右键,选择properties,进行工程的设置,选择目标操作系统版本

2.调试--》支持仅我的代码调试调试 ,设置为否

3.c/c++ --》常规--》将警告视为错误,改为否

3.inf2Cat设置

‎Inf2Cat (inf2Cat .exe) 是一个命令行工具,用于确定‎‎驱动程序包的‎‎INF 文件是否可以为指定的 Windows 版本列表进行数字签名。如果是这样,Inf2Cat 生成适用于指定 Windows 版本的未签名‎‎目录文件‎‎。

 编译

编译后出现MSB8040错误信息

此项目需要 Spectre 缓解库

 解决方法

方法一、c/C++--》SpectreMitigation,设置Disabled

 方法二、visual Studio installer安装缓解库

编译

### Windows 开发环境配置概述 在 Windows 平台上进行开发时,不同的编程语言和技术栈需要特定的开发环境支持。以下是几种常见的开发环境及其配置方法: #### Flutter 应用开发环境配置 为了在 Windows 上配置 Flutter 的桌面应用开发环境,可以参考 ReimuYk 的博客内容[^1]。具体来说,需要安装 go-flutter-desktop 框架以及相关依赖项。此过程涉及下载并设置必要的 SDK 和工具链。 #### Go 语言开发环境配置 对于 Golang 的开发环境,在 Windows 系统上的搭建主要包括以下几个方面[^2]: - 安装官方提供的 Go 编译器和工具集。 - 配置系统的 `GOPATH` 和 `GOROOT` 变量以管理源码路径与安装位置。 - 使用 IDE 如 VS Code 或 Goland 提高生产力。 #### Java 开发环境配置 针对 Java 的开发环境准备,则需执行如下操作[^3]: - 下载最新版本 JDK (Java Development Kit),确保它兼容目标操作系统架构(32位/64位)。 - 设置 JAVA_HOME 环境变量指向所安装JDK根目录。 - 更新 PATH 中加入 `%JAVA_HOME%\bin` ,使得命令行可直接调用 java 命令。 #### Windows 驱动开发环境配置 如果计划从事底层硬件交互或者系统级软件工程的话,那么建立一个适合于驱动程序编码测试运行周期内的工作区尤为重要[^4]. 主要步骤包括但不限于: - 获取微软发布的 WDK (Windows Driver Kit). - 结合 Microsoft Visual Studio 创建新项目模板来承载驱动模块. - 调整编译选项满足不同平台需求. #### Node.js 开发环境配置 Node.js 是 JavaScript 运行时的一种实现形式,非常适合服务器端脚本处理任务。在其官网获取 MSI 文件后按照提示完成整个流程即可[^5] 。值得注意的是,默认情况下会自动关联到全局可用状态;然而如果有特殊定制化要求比如更改默认存储地址等情况发生时,请留意相应调整措施。 ```bash # 测试 node 是否成功安装 node -v npm -v ``` 以上就是关于多种技术方向下 windows 平台所需准备工作的大致介绍。每种情况都有各自特点需要注意把握细节之处才能顺利开展后续活动。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值