精华内容
下载资源
问答
  • windows10 驱动开发环境 VS2019+WDK10

    万次阅读 2019-06-04 09:30:38
    windows10 驱动开发环境 1、下载SDK https://developer.microsoft.com/zh-cn/windows/downloads/windows-10-sdk 通用驱动demo: https://github.com/microsoft/Windows-driver-samples 2、下载VS2019 ...

    windows10 驱动开发环境

     

    1、下载SDK 

    https://developer.microsoft.com/zh-cn/windows/downloads/windows-10-sdk

    通用驱动demo:

    https://github.com/microsoft/Windows-driver-samples

    2、下载VS2019

    https://visualstudio.microsoft.com/zh-hans/vs/

    安装 Visual Studio 时,选择“使用 C++ 的桌面开发” 工作负载

    3、下载WDK

    https://docs.microsoft.com/zh-cn/windows-hardware/drivers/download-the-wdk

    安装 WDK 时将安装 WDK Visual Studio 扩展。 必须完成此操作,才能使 WDK VS 集成正常工作。

    4、打开VS2019

    参考:https://docs.microsoft.com/zh-cn/windows-hardware/drivers/gettingstarted/writing-a-very-small-kmdf--driver

    新建KMDF项目:

     

    编写第一个驱动程序代码

    #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;
    }

    生成驱动程序

     

     

    SDK 版本原因,编译未通过。

    解决方法1:重定向解决方案目标,选择正确版本。

    不能选择...

    解决方法2:

    找到“使用C++的桌面开发”,勾掉左上角的勾选,然后再重新勾选上

    取消勾选再选上,之后更新一下,再重试选择“重定解决方案目标”来更改 SDK 版本

    还是不能选择...

    解决方法3:

    重新下个新的SDK

    error MSB8040: Spectre-mitigated libraries are required for this project.

    增加组件:可能还需要其他依赖库,将相关库都选择上。

     

    编译成功。

     

    • KmdfHelloWorld.sys - 内核模式驱动程序文件
    • KmdfHelloWorld.inf - 在安装驱动程序时 Windows 使用的信息文件
    • KmdfHelloWorld.cat - 安装程序验证驱动程序的测试签名所使用的目录文件

     

     

     

     

     

     

     

     

    展开全文
  • Windows10驱动开发环境VS2019+WDK10

    千次阅读 2020-03-12 17:22:10
    Windows10驱动开发环境 1、下载SDK https://developer.microsoft.com/zh-cn/windows/downloads/windows-10-sdk 通用驱动demo: https://github.com/microsoft/Windows-driver-samples 2、下载VS2019 ...

    Windows10驱动开发环境

    1、下载SDK

    https://developer.microsoft.com/zh-cn/windows/downloads/windows-10-sdk

    通用驱动demo:

    https://github.com/microsoft/Windows-driver-samples

    2、下载VS2019

    https://visualstudio.microsoft.com/zh-hans/vs/

    安装Visual Studio时,选择 “使用 C++ 的桌面开发” 工作负载

    3、下载WDK

    https://docs.microsoft.com/zh-cn/windows-hardware/drivers/download-the-wdk

    安装WDK时将安装WDK Visual Studio扩展。必须完成此操作,才能使WDK VS 集成正常工作。

    安装完成后,在你安装的WDK的文件夹下找到WDK.vsix,双击,便可将驱动模块加载进vs2019中。

    4、打开VS2019

    参考:https://docs.microsoft.com/zh-cn/windows-hardware/drivers/gettingstarted/writing-a-very-small-kmdf--driver

    创建KMDF项目:

    注意保存为.c文件

    编写第一个驱动程序

    
    #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;
    }

    生成驱动程序

    在生成驱动的过程中可能会出现这样的错误:

    禁用Spectre缓解即可,(当然,也可以下载Spectre库,我没有成功【捂脸】)!

     

    生成驱动文件和pdb文件

    展开全文
  • 微软官网下载安装包,然后下载vs2017离线安装包,双击离线目录setup.exe安装vs2017,选择C++桌面开发。 D:\vs_enterprise__111975078.1529511260.exe --layout D:\vs2017 --lang zh-CN en-US 配置下载缓存路径, ...

    作者

    QQ群:852283276
    微信:arm80x86
    微信公众号:青儿创客基地
    B站:主页 https://space.bilibili.com/208826118

    下载安装包

    微软官网下载安装包,然后下载vs2017离线安装包,网上说先安装证书,我忘记了,但是也没有问题,我是win7 x64,应该是我已经有了这些证书。

    D:\vs_enterprise__111975078.1529511260.exe --layout D:\vs2017 --lang zh-CN en-US
    

    这里写图片描述
    双击离线目录setup.exe安装vs2017,选择C++桌面开发。
    配置下载缓存路径,
    这里写图片描述
    安装完成之后到帮助菜单里注册。
    Visual Studio 2017 Enterprise NJVYC-BMHX2-G77MM-4XJMR-6Q8QF
    Visual Studio 2017 Professional KBJFW-NXHK6-W4WJM-CRMQB-G3CDH
    官网下载WDK10或EWDK10,按默认安装。

    配置Git

    由于我这里用了外部方法建了Git,所以这儿点击添加,来配置Git。
    这里写图片描述
    从vs代码编辑窗口的底部有Git的提交等信息。
    这里写图片描述

    项目设置

    设置项目属性,设置输出可执行文件,
    这里写图片描述
    设置头文件路径,
    这里写图片描述
    设置库路径,
    这里写图片描述
    设置依赖:同一个解决方案放下有很多项目,这里可以在解决方案资源管理器空白处,右键菜单->添加->新建解决方案文件夹,对项目进行分类管理。
    如果有一个应用调用另一个库工程,这时候需要到工程属性中配置附加包含目录和附加链接库,vs提供了一个快捷方式建立项目依赖,简化配置过程,在项目引用里添加依赖的项目即可。
    这里写图片描述
    Wpp Tracing此处配置打开,否则编译不过。
    这里写图片描述
    其次配置Scan Configuration Data
    这里写图片描述
    以上针对Debug/Release建立通用配置,下面可新建解决方案配置,分别适配win10和win7等。
    这里写图片描述
    针对Win7驱动的特殊设置,这里只有Desktop类型,
    这里写图片描述
    WDF版本设置为1.11,
    这里写图片描述

    常见错误

    编译错误,

    Inf2Cat error -2: "Inf2Cat, signability test failed." Double click to see the tool output.
    Inf2Cat Tool Output:
    ..........................
    Signability test failed.
    
    Errors:
    22.9.7: DriverVer set to a date in the future (postdated DriverVer not allowed) in xxxx.inf.
    
    Warnings:
    None
    

    刚好时间到了凌晨出了错误,参考博客VS2012驱动项目时间戳验证失败,解决办法很简单,在项目属性里设置,
    这里写图片描述

    展开全文
  • 主系统是win10 ,虚拟机是VM 9,虚拟机系统是win7 64位,看了好多帖子关于环境配置的,但是没找到和我情况一样的,小白有点慌,所以我是应该配置vs2013+WDK8.1还是VS2015+WDK10 呢,这两个是安装到主系统么?...
  • 在Win10环境下开发Windows驱动程序需要依赖WDK,微软在”WDK7600“以后就不再提供独立的内核驱动开发包了,而是必须首先安装微软集成开发环境VisualStudio。本文将介绍如何在Win10环境下配置Visual Studio 2015 + ...
    在Win10环境下开发Windows驱动程序需要依赖WDK,微软在”WDK7600“以后就不再提供独立的内核驱动开发包了,而是必须首先安装微软集成开发环境VisualStudio。本文将介绍如何在Win10环境下配置Visual Studio 2015 + WDK开发环境。

    微软官网对于WDK的介绍如下:
    Windows 驱动程序工具包 (WDK) 与 Microsoft Visual Studio 和用于 Windows 的调试工具相集成。该集成环境给你提供了开发、构建、打包、部署、测试和调试驱动程序时所需的工具。 在集成的环境中,你可以运行各种基本的认证测试。WDK 包括多项技术和驱动程序模块的模板,其中包括 Windows 驱动程序框架 (WDF)、通用串行总线 (USB)、打印、网络和文件系统筛选器。

    安装过程如下:

    1、安装Visual Studio 2015,如下图所示,勾选Visual C++,确保Windows 10 SDK版本为15063(为与WDK版本保持一致),所以我的Visual Studio 2015低于该版本,因此安装该版本SDK,并在步骤2中独立安装。如果你的Visual Studio 2015安装包中集成的SDK为15063,勾选安装即可,并请跳过步骤2。

    2、安装SDK
    可以选择下载exe或者iso,前者是一个下载工具,后者是SDK的镜像文件,两种方式均可。



    3、安装WDK
    从微软官网下载Windows WDK 10.0.15063


    4、确认安装是否成功
    从控制面板的软件卸载界面可以看到WDK以及SDK对应版本已经安装成功。


    5、Visual Studio 2015中确认是否安装成功
    在创建工程界面可以看到有WDF项目



    创建一个KMDF项目,可以编译成功,至此安装完成。



    展开全文
  • Windows驱动开发环境搭建之Hello World

    千次阅读 2017-09-08 16:39:56
    WDK10按照书上的例子进行编写,只包含了类似下面 ntxxx.h 的头文件,都无法找着:#include #include ...第一反应是vs中的包含目录中没有驱动头文件的目录,其默认包含如下然而在对应的版本中并没有发现有对应的目录...
  • 1、概述 微软在”WDK7600“以后就不再提供独立的内核...对于Windows 10和Visual Studio2015驱动开发WDK环境变量的配置,与其它版本的Windows和WDK环境的配置有很大不同。本人也是苦苦探索了近一周的时间才配好。...
  • https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk 在你啥都不懂的时候,连搭建环境都是一件很头大的事,这篇文章主要是解读一下上面的...因为SDK(软件开发工具包)需要与WDK(驱动开发
  • windwos10 VirtualBox visual studio 2015 windows SDK windows WDK
  • 为何选择visual studio community作为开发环境:从微软官网的关于visual studio community的介绍可知,visual studio community是一款功能强大并且免费的集成开发环境。正好这功能强大和免费这两点完全符合本人需求,...
  • 然后在win10里可能由于没有做测试签名因此一直没有成功加载驱动,换成win7后需要安装winddk7然后重启VS,项目属性->Driver Settings->Target OS Version切换到Windows 7 然后 Driver ...
  • 驱动开发环境搭建 平台:VS 2019 + Windows 10
  • 3 驱动开发工具:WDK10 4Windows SDK:SDK10(安装的时候必须全部勾选安装,否则编译会出现缺少waring.h等头文件之类的错误) 5 VM虚拟机:VMware WorkStation 12 Win10、WDK10、SDK10的版本必须一致我的用的都是...
  • [开发Windows驱动的配置是很必要的,下文将详细介绍VS2012如何配置驱动开发环境][转载]以下部分内容是转载博客:http://blog.csdn.net/huangxy10/article/details/15284881[下载]微软官网下载WDK或者网上有DDK安装包...
  • 一、安装开发工具 winxp、win7、win2003、win2008 安装 notepa++ win7、win8、win10、win2008 R2、win2016 安装 VS2015+WDK10 二、安装WDK ...
  • Win10驱动开发开发环境的搭建(一)

    千次阅读 2019-01-17 00:11:23
    这次学习最后采用的开发环境如下: Windows : win10 64位 1809版本(Host计算机和测试计算机上相同) Visual Studio Community 2017 : 版本15.9.4 SDK : 10.0.17763.132 WDK : 10.0.17763.132 之前一个朋友...
  • 所以在看到下面这个网页的入门教程时,心里感觉之前关于打印“HelloWorld”的想法是对的: ... Win10下的驱动模型是WDF,它又可以分为UMDF、KMDF两类。这三个例子,分别说明了这两类驱动的基...
  • Windows驱动开发入门 -- HelloWorld

    千次阅读 2019-03-13 09:34:11
    一、驱动开发环境搭建 在Download the Windows Driver Kit (WDK)页面中下载最新版本的Visual Studio和WDK进行安装。如果要下载老版本可以到Other WDK downloads下载。 本文演示环境为:Visual Studio 2017版本,WDK ...
  • Windows驱动开发环境搭建,参考文章: https://docs.microsoft.com/zh-cn/windows-hardware/drivers/download-the-wdk 步骤 1:安装 Visual Studio 2019 Visual Studio Community 2019下载地址: ...
  • Win10驱动开发开发环境的搭建(二)

    千次阅读 2019-01-18 09:41:02
    由于是门外汉,曾经怀疑是windows版本的问题,所以把win10进行了升级,升级到了1809版本。 升级链接为: https://go.microsoft.com/fwlink/?LinkID=799445 或者进入microsoft网站: https://www.microsoft.com/...
  • 安装了好多遍驱动开发环境都不成功,最终成功了一次。 win10 64位 vs2015 windows sdk 10.0.15版本 wdk 10.0.15版本 测试环境win7 64位 根据别人的教程尝试过多次vs2017不过都失败了,不知道为什么。 ...
  • Windows驱动开发技术详解》学习笔记

    万次阅读 多人点赞 2019-02-13 17:34:19
      如果推荐 Windows 驱动开发的入门书,我强烈推荐《Windows驱动开发技术详解》。但是由于成书的时间较早,该书中提到的很多工具和环境都已不可用或找不到,而本文搜集了大部分的工具,并在 win10X64 上安装开发...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 394
精华内容 157
关键字:

windows10驱动开发环境