精华内容
下载资源
问答
  • windows10驱动开发环境
    千次阅读
    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

    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文件

    更多相关内容
  • 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 - 安装程序验证驱动程序的测试签名所使用的目录文件

     

     

     

     

     

     

     

     

    展开全文
  • 因为特殊原因需要搭建win10驱动环境, 因此学习了一下 但是发现win10环境特别麻烦 ...4 需要wdk Windows Driver Kit(Windows驱动程序工具包) 2 vs2019安装 选择c++ 桌面开发, 选择win10 sdk 10.0.

    因为特殊原因需要搭建win10驱动环境, 因此学习了一下 但是发现win10环境特别麻烦

    vs2022已经出来了,但是没看到驱动支持, 因此还是选择vs2019

    提前准备

    1 查看系统版本

    2 下载vs2019 社区版本

    3 需要win10 sdk Software Development Kit(软件开发工具包)

    4 需要wdk Windows Driver Kit(Windows驱动程序工具包)

    2 vs2019安装

    选择c++ 桌面开发, 选择win10 sdk 10.0.190441

    3 安装wdm

    选择2004版本安装

    安装完之后,会选择安装vs插件.  点击安装完成之后就会出现驱动的选择

    4 使用

    选择KMDF 

    新建一个driver.c

    #include <ntifs.h>
    VOID UnLoadDriver(PDRIVER_OBJECT pDriverObject)
    {
        KdPrint(("UnloadDriver success!"));
    }
    NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pRegistryPath)
    {
        KdPrint(("%wZ", pRegistryPath));
        pDriverObject->DriverUnload = UnLoadDriver;
        return STATUS_SUCCESS;
    }

    最终的目录如图

    然后开始配置工程: 工程上右键属性

     

     禁止签名

     inf2cat

     到这里配置已经配置完了

    右键生成

    找到工程目录下有2个文件这就是我们需要的文件

     2 部署

    这里不建议用开发机来部署, 建议用vmware来部署

    需要的工具有2个: 

    下载一个InstDrv.exe,用来加载驱动程序;
    下载一个Dbgview.exe,用来显示驱动的log;

    1 重启虚拟机电脑进入到 禁止驱动程序强制签名

    win10从设置里面进入 

     2 拷贝刚刚生成的两个文件到虚拟机

    用admin权限打开Dbgview.exe程序,监控系统log;
    进行一下配置:
    开启Capture Kernel

    参考资料: 

    https://qwertwwwe.github.io/windows-driver-develop-setup-environment/

    后面和测试机的配置如图: 

    Win10下VS2015(WDK10)驱动开发环境配置_Commander-CSDN博客_vs2015 windows 驱动

    展开全文
  • win10驱动开发

    2022-04-13 18:15:47
    整体开发环境 win10 开发机 vmware 上的 win10 调试机 开发机环境 windows sdk: 版本 10.0.16299.0 wdk 版本10.0.16299.15 vs2017 vmware 16.2 测试机 windows sdk: 版本 10.0.16299.0 driver monitor 工具 ...

    整体开发环境

    1. win10 开发机
    2. vmware 上的 win10 调试机

    开发机环境

    1. windows sdk: 版本 10.0.16299.0
    2. wdk 版本10.0.16299.15
    3. vs2017
    4. vmware 16.2

    创建项目并编译

    使用vs2017创建编译NT式驱动

    1. 使用vs2017不能直接创建nt式驱动的项目,我们这里创建一个空的wdm项目,如图:
      在这里插入图片描述
    2. 在项目属性中选择windows sdk的版本为10.0.16299.0,如图:
      在这里插入图片描述
    3. 关闭一些特殊的编译开关,如图:
      在这里插入图片描述
    4. 编译后,会生成如下几个对象:
      在这里插入图片描述

    win10上测试NT式驱动

    1. 执行下面的命令, 使电脑进入测试模式,并重启电脑:
    • bcdedit /set loadoptions DDISABLE_INTEGRITY_CHECKS
    • bcdedit /set testsigning on
    1. 安装测试证书,即WDK_PRO_NT_HelloDDK.cer,否则无法加载驱动.如图:
      在这里插入图片描述

    2. 使用DriverMonitor加载驱动,如图:
      在这里插入图片描述

    3. 点击,卸载驱动,虚拟机蓝屏,如图:
      . 在这里插入图片描述

    定位电脑蓝屏的原因

    1. 修改配置,以便在电脑蓝屏的时候生成dump
      在这里插入图片描述
    2. dump文件在C:\Windows\MinidumpC:\Windows下:
      在这里插入图片描述
    3. 用windbg打开dump文件
      在这里插入图片描述
    展开全文
  • Windows编程—Windows驱动开发环境搭建

    千次阅读 2020-07-02 09:38:48
    文章目录前言步骤步骤一步骤二步骤三连接测试步骤四步骤五总结 前言 作为一个编写Windows程序的开发人员,对Windows驱动开发 ...开始学习Windows驱动开发,第一步当然是环境搭建了。因为笔者也在驱动环境搭建上也吃过
  • Windows 10 驱动开发 及 驱动签名

    千次阅读 2022-03-25 10:33:33
    记录下在公司开发驱动的一些注意事项, 驱动当前仅针对win10x64
  • VS2019+WDK10+Win10 驱动开发环境

    千次阅读 2021-03-20 10:50:38
    《VS2019+WDK10驱动开发环境搭建》 并在此做下记录 1、安装VS2019,这里选择安装的是社区版 工作负载这里,选择“使用C++的桌面开发” WDK:Windows Driver Kit(Windows驱动程序工具包) SDK: Software ...
  • WDK编译及调试环境搭建
  • 文档描述windows驱动开发环境搭建的过程
  • Windows驱动开发环境搭建:VS2013+WDK8.1

    千次阅读 2020-03-15 19:12:21
    尽管网上已经有很多帖子在介绍如何搭建Windows驱动开发环境,Jungle照着这些帖子仍旧折腾了很长时间。在终于搭建成功后记录下环境搭建过程,方便大家使用。 1.安装包准备 Visio Studio2013:...
  • Windows内核安全与驱动开发(带书签):本书的前身是《天书夜读——从汇编语言到Windows内核编程》和《寒江独钓——Windows内核安全编程》。与Windows客户端安全软件开发相关的驱动程序开发是本书的主题。书中的程序...
  • Windows 内核驱动开发环境 VS2019+WDK11

    千次阅读 2021-09-22 11:06:58
    Windows 内核驱动开发环境 VS2019+WDK11 一、开发工具 Visual Studio 2019 安装 Windows 11 SDK (22000.1) https://go.microsoft.com/fwlink/?linkid=2166460 安装 Windows 11 WDK ...二、程序代码结构 ...
  • Windows驱动开发环境的搭建,资料大部分从网上收集,自己在搭建环境的过程中做了改进,方便初学者搭建wdm(wdk)开发环境。
  • Windows 驱动开发 新手入门(一)

    千次阅读 2021-02-12 17:25:50
    Windows 驱动开发 新手入门(一)引言驱动介绍Win10 WDK建立一个驱动项目建立MyDriver.cpp理论知识驱动入口派遣函数 MajorFunctionDevice和SymbolicLinkDeviceExtensionIRP 引言 本文是对Windows下的驱动开发有一个...
  • VS2019+WDK10驱动开发环境搭建

    千次阅读 2020-11-27 00:09:32
    https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk 在你啥都不懂的时候,连搭建环境都是一件很头大的事,这篇文章主要是解读一下上面的...因为SDK(软件开发工具包)需要与WDK(驱动开发
  • 微软官网下载安装包,然后下载vs2017离线安装包,双击离线目录setup.exe安装vs2017,选择C++桌面开发。 D:\vs_enterprise__111975078.1529511260.exe --layout D:\vs2017 --lang zh-CN en-US 配置下载缓存路径, ...
  • VS2019 windows驱动开发环境配置

    万次阅读 2019-08-12 17:15:02
    配置Windows驱动开发环境 VS2019 下载VS2019 下载链接 https://visualstudio.microsoft.com/zh-hans/downloads/ 选择你所需要的开发环境和配置 确认下载完后, 在你安装的WDK 的文件夹下选择 双击WDK....
  • 驱动开发Windows11+VS2019环境配置

    千次阅读 2021-08-15 14:58:48
    文章目录环境安装创建驱动MSB401: SignTask错误解决 环境安装 安装VS2019,下载地址:VS2019。安装时注意选中VC++桌面开发。...如果没有打开,在路径D:\Windows Kits\10\Vsix\VS2019下可找到,双击安装。 创建驱动
  • Windows上,Windows DDK提供的开发环境是基于命令行的,操作起来极为不便,相信 进行过驱动程序开发的朋友一定对此深恶痛绝。另一方面,Visual Studio 6.0却给我们 提供了非常友好易用的集成环境,让我们有...
  • Windows驱动开发环境搭建之Hello World

    千次阅读 2017-09-08 16:39:56
    WDK10按照书上的例子进行编写,只包含了类似下面 ntxxx.h 的头文件,都无法找着:#include #include ...第一反应是vs中的包含目录中没有驱动头文件的目录,其默认包含如下然而在对应的版本中并没有发现有对应的目录...
  • 对win10驱动开发环境的理解(一)

    千次阅读 2019-01-21 11:42:19
    一开始着手学习驱动开发时,就在想一个问题,如何在开发驱动过程中,首先用开发的驱动程序打印“Hello world”? 回想自己装机过程中,是怎么处理“驱动”的。以前还会想去查查自己电脑是什么配置,然后到对应网站...
  • Windows驱动开发驱动开发环境搭建

    千次阅读 2016-07-05 06:42:06
    驱动开发环境搭建
  • win10驱动开发——驱动签名

    千次阅读 2022-02-06 20:02:57
    win1803开始直接禁用驱动强制签名的方式不行了 1.设置环境 bcdedit -set NOINTEGRITYCHECKS ON...找到makecert.exe文件位置如【C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\makecert.exe】 没有的请
  • 具体内容包括但不限于: Windows驱动开发小白入门,Windows内核架构与驱动开发的基本概念,VS2015+VMware(win10x64)双机调试驱动,Win10x64中安装WDM驱动,驱动程序的基本结构(NT,WDM),Windows内存管理,Windows...
  • 在Win10环境下开发Windows驱动程序需要依赖WDK,微软在”WDK7600“以后就不再提供独立的内核驱动开发包了,而是必须首先安装微软集成开发环境VisualStudio。本文将介绍如何在Win10环境下配置Visual Studio 2015 + ...
  • Win10下VS2019驱动开发环境搭建(一)

    千次阅读 2021-01-05 00:23:41
    驱动开发环境搭建 平台:VS 2019 + Windows 10
  • Windows驱动程序开发 - 初识驱动

    千次阅读 2021-03-14 13:12:19
    搭建Windows驱动开发环境[2]. 第一个驱动程序[3]. 双机调试参考总结 什么是驱动程序? 驱动(Driver)可以简单理解为设备的操作程序,通常驱动是要符合操作系统规范的。 情景一:没有操作系统的情况(裸机) 应用通过...
  • Windows下USB驱动开发入门小结

    万次阅读 多人点赞 2018-08-20 11:01:06
    今年刚从学校毕业,来到公司后学了学画板子然后经理便给了我了一块板子,需要用到USB传输数据,让我学习一下Windows驱动程序开发并将这个USB驱动解决。当时一脸懵逼,便将开发板通过USB接口插上电脑后发现显示的未...
  • Windows环境下USB驱动程序的开发
  • windwos10 VirtualBox visual studio 2015 windows SDK windows WDK

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 151,362
精华内容 60,544
关键字:

windows10驱动开发环境