
windows驱动程序WDF
文章平均质量分 58
windows驱动程序WDF
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
毛毛虫的爹
这个作者很懒,什么都没留下…
展开
-
测试模式
bcdedit.exe /set nointegritychecks onbcdedit.exe /set nointegritychecks offbcdedit /set testsigning onbcdedit /set testsigning off原创 2024-02-23 11:44:10 · 142 阅读 · 0 评论 -
PCIe 配置空间:Command 寄存器
该位为 0 时,Root Port 或者 Switch 的 Downsteam 端口收到 Memory 请求和 I/O 请求后,应该按照 Unsupported Requests(UR)处理。除了 Memory 读写请求和 I/O 读写请求,其他类型的请求不受该位控制。除了 Memory 读写请求和 I/O 读写请求,其他类型的请求不受该位控制。该位为 0 时,不允许设备发出 Memory 读写请求、I/O 读写请求。该位为 1 时,允许设备发出 Memory 读写请求、I/O 读写请求。原创 2023-09-05 09:03:53 · 943 阅读 · 0 评论 -
WDF驱动中访问 PCI 设备配置空间
Windows XP 和 Windows Server 2003 及更高版本的操作系统可以独占控制PCI 本地总线规范定义的配置空间标头以及功能链接列表中的所有功能。驱动程序不得尝试修改这些寄存器。但是,驱动程序可以使用 IRP _ MN _ 写入 _ 配置请求或总线接口标准的SetBusData方法, _ 将不属于该标头的配置空间写入到供应商定义的功能列表 _ 。驱动程序还可以使用 IRP _ MN _ read _ CONFIG 请求或总线接口标准的GetBusData方法读取 _ ...原创 2021-01-19 09:54:06 · 1356 阅读 · 0 评论 -
驱动程序(1) win10下Visual Studio 2017的安装以及双机调试搭建
前言:毕业上班以来,现在这个项目比较缺一个做windows下驱动程序开发的,所以本人就负责这方面的工作。之前没有接触过,完全萌新,全靠一本武安河编著的《Windows设备驱动程序WDF开发》和各路网上大神们的博客。现在把这段时间来的一些经历和体会写下来,如有错误还请各位请点轻喷 QAQ主要的一些资料来源和引用:[1] 武安河《Windows设备驱动程序WDF开发》[2] 微软官网Windowsqu驱动程序入门https://msdn.microsoft.com/zh-cn/library/windo原创 2021-01-13 16:37:01 · 832 阅读 · 0 评论 -
用VS2019写驱动报木马的解决办法
原创 2021-01-09 08:24:05 · 1378 阅读 · 0 评论 -
驱动程序与应用程序之间共享内存
共享的方式有很多,我们在应用层编程时,也经常需要进程之间共享内存。可以用过SendMessage,文件映射等。也可以用dll来进行共享。用dll进行共享,大家应该知道#pragma data()这个宏,在这个宏中声明的变量就可以共享了,是系统级全局变量,但是必须进程之间引用的是同一个dll文件。 在驱动进行内存的共享,也可以通过使用文件映射的方式来实现。这个在后续中文章中描述。 我在这里就说一种很简单的方式来实现内存的共享。可以分成一个步骤来实现。 1. 我们在驱动中首先分配一...原创 2021-01-11 10:46:25 · 869 阅读 · 0 评论 -
inf安装驱动方式---win10下使用VS2015+WDK10生成win7 X64的设备驱动的过程
本文主要介绍“win10下使用VS2015+WDK10生成win7 X64的设备驱动”的过程,并在win7 X64下安装的过程。具体如下:1,在win10下,使用VS2015+WDK10新建一个KMDF工程,命名为“MyKMDF”,注意要选择那个“非empty”的KDMF,它会生成如下几个文件:2,查看它的“public.h”文件,有如下的GUID定义:[cpp]view plaincopy// //DefineanInterfaceGuidsothat...原创 2021-01-06 11:08:11 · 1083 阅读 · 0 评论 -
64位驱动签名工具64Signer
微软对于自Vista开始的64位OS有新的数字签名策略,即所有内核驱动都必须是经过可信机构签发过数字证书的,否则系统拒绝加载。此策略的目的是加强系统安全防护,使得一干惯于偷偷摸摸、底细不清的内核模块无法在系统中容身。但它却也给正经的内核开发人员带去一个麻烦:开发过程中会不断生成新的驱动镜像文件,开发者不可能将每一个内部版本都拿去申请数字签名,不仅太麻烦,而且会大大延长开发周期。微软当然也考虑到了这一点,它提供了一个可以禁止签名检验的开机启动项。要运用此启动项,用户必须在启动电脑时,及时在键盘上按下F8键原创 2021-01-06 08:41:45 · 2417 阅读 · 1 评论 -
wdf中的两个宏WDF_DECLARE_CONTEXT_TYPE & WDF_DECLARE_CONTEXT_TYPE_WITH_NAME
WDF_DECLARE_CONTEXT_TYPEWDF_DECLARE_CONTEXT_TYPE宏为指定对象创建一个访问上下文空间方法的名字。 void WDF_DECLARE_CONTEXT_TYPE( _contexttype ); 参数_contexttype驱动定义结构的符号名。这个接口必须描述对象上下文空间。示例以下代码示例定义了一个作为请求对象上下文结构(MY_REQUEST_CONTEXT)。注册这个结构体,然后调用WDF_DECLARE_CO原创 2021-01-05 10:21:22 · 631 阅读 · 0 评论 -
设备扩展(DEVICE_EXTENSION)
设备扩展(DEVICE_EXTENSION)是与设备对象相关的另一种重要的数据结构。可以用它来保存与特定设备关联的信息。设备扩展其实只是一个未分页的池,由驱动开发者来定义它的大小和内容。并由I/O管理器自动把它分配给设备对象,即设备对象的PVOID DeviceExtension字段。由于此结构是驱动开发者自定义的,所以必须要让系统知道需要给此结构预留多少空间,因此要把设备扩展结构的大小作为参数传递给IoCreateDevice函数。I/O管理器的IoCreateDevice函数将为设备对象和设备扩展对象.原创 2021-01-05 09:51:08 · 1754 阅读 · 0 评论 -
Windows驱动开发错误:MSB8040 此项目需要缓解了Sprctre漏洞的库
VS2019编译WDK驱动时,出现如下错误:MSB8040 此项目需要缓解了Sprctre漏洞的库。从Visual Studio安装程序(单个组件选项卡)为正在使用的任何工具集和体系结构哦安装它们。了解详细信息:http://aka.ms/Ofhn4c。-----------------------------------------------------------------------------------------------------------------------..原创 2021-01-05 09:23:11 · 2480 阅读 · 0 评论 -
WDF 驱动版本及系统支持情况
原创 2019-09-05 14:38:46 · 741 阅读 · 0 评论 -
Windows驱动通过inf文件生成cat文件步骤
编写Windows驱动程序,最后一步就是打包和安装。Windows 7 64位系统以上的版本,如果没有对cat或者sys文件进行数字签名,驱动安装会出现问题,或者驱动使用过程也会出现异常。为了兼容性考虑,我们需要生成cat文件。本人环境win7 x64位,安装了WinDDK。WinDDK提供了 Inf2Cat.exe 工具,该工具在C:\WinDDK\7600.16385.1\...原创 2019-12-11 08:12:03 · 3684 阅读 · 1 评论 -
WDF驱动开发- CONTEXT和IO QUEUE
https://blog.youkuaiyun.com/zj510/article/details/16987349WDF里面,大多数对象都支持自定义的数据,比如给设备对象创建一个context。对象上下文先自定义一个结构,比如typedef struct{ WDFQUEUE _DefaultQueue;}DEVICE_CONTEXT;里面放了一个对象WDFQUEUE. 然后给设...原创 2019-12-03 09:31:24 · 834 阅读 · 0 评论 -
驱动中PAGED_CODE的作用
功能:这个宏可以确保调用线程运行在一个允许分页的足够低IRQL级别。参数: 无参数返回值: 无注意:如果IRQL > APC_LEVEL,则PAGED_CODE()会对系统产生一个断言。1.这个宏的调用必须在驱动程序开始位置,并且包含可分页代码或者可访问分页代码2.这个宏定义只在驱动代码执行宏时检查IRQL,如果此宏之后提高 IRQL等级 ,将无法检测改变。3.必须...原创 2019-12-03 09:12:00 · 2780 阅读 · 0 评论 -
Windows驱动开发之日志打印 - TraceEvents
《Windows驱动开发技术详解》一书中,介绍了一种“Windows驱动程序日志打印和查看的方法”,具体就是:在需要打印日志的地方,调用“KdPrint”函数,该函数类似标准C的printf(print file)函数。然后用“DebugView.exe”软件查看日志。一、引入事实上,微软也提供了一个日志打印和日志查看机制,它可以查看指定的驱动文件的日志,并根据“Level...原创 2019-12-03 08:56:58 · 1518 阅读 · 0 评论 -
windows驱动之WDF---CharSample
驱动程序部分:NTSTATUSDriverEntry( IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath )/*++Routine Description: DriverEntry initializes the driver and is the first routine c原创 2015-01-09 08:34:30 · 3110 阅读 · 1 评论 -
一种基于主板BIOS的身份认证方案及实现
一、BIOS简介BIOS是只读存储器基本输入/输出系统,它是被固化到计算机中的一组程序,为计算机提供最低级的、最直接的硬件控制,在计算机系统中起着非常重要的作用。BIOS是硬件与软件程序之间的接口,负责解决硬件的即时需求,并按软件对硬件的操作要求具体执行。BIOS的功能包括自检及初始化、硬件中断处理、程序服务处理。1. 自检及初始化这个部分的功能是启动计算机,包括三个部分,第一个部分是用于计算机刚原创 2015-05-11 11:02:08 · 2252 阅读 · 1 评论 -
win7 vs2012+wdk8.0 搭建wdf驱动开发环境
开发环境搭建:系统:win7 x64工具:vs2012 + WDK8.0插件:wdfcoinstaller.msi(1)先安装vs2012,再安装wdk8.0,这样在打开vs2012时可以创建windows drivers类型的工程。注:vs2012不能安装wdk8.1,wdk8.1必须安装在vs2013上下载链接:http://msdn.microsoft.com/zh-cn/win...原创 2016-07-13 15:08:52 · 4966 阅读 · 1 评论 -
使用EasySYS搭建驱动开发基本框架
提供EasySYS的下载地址:http://bbs.pediy.com/showthread.php?p=956643,看雪上有提供下载,自行百度。EasySYS你能够帮我们快速的搭建驱动的开发框架,省去了我们写基本框架代码的时间,但是我个人不太喜欢用它来搭建驱动开发框架,感觉里面的代码风格不喜欢,不少代码得删去。在使用EasySYS之前,一定要确保你的系统安装了微软驱动开发包DDK或者新版的WD原创 2017-08-24 08:24:34 · 1392 阅读 · 0 评论 -
如何关闭WIN7自动配置 IPV4 地址 169.254
方法一:1、以管理员身份运行cmd.exe。2、输入:netsh winsock reset catalog 按回车。3、输入:netsh int ip reset reset.log 按回车。4、重新启动电脑,然后根据个人所需填写ip地址、子网掩码、网关,确定即可。方法二:取消IPv6:1、以管理员身份打开CMD运行以下命令关闭IPV6的隧道。nets...原创 2019-04-12 08:49:20 · 25904 阅读 · 1 评论 -
VS2012 ddk驱动编译与虚拟机联机调试设置(vs调试驱动)
一.安装WindowsDriverKit81首先在计算机上安装VS2012(12很容易安装,安装步骤略),然后到官网上下载WindowsDriverKit8下载地址:http://msdn.microsoft.com/zh-cn/windows/hardware/hh852362/下载完毕点击进行安装。安装模式有两种,一种是在线直接安装,一种是下载安装包到本地,之后再进行安...原创 2019-05-27 14:52:20 · 738 阅读 · 1 评论 -
windows驱动环境配置vs2010+wdk7600
1.安装VS2010,WDK7.60(GRMWDK_EN_7600_1)2.新建VC 控制台项目(选择为空项目)3.新建项目配置“driver” ,点击下拉按钮-点击(配置管理器)输入名称(driver)点击确定就可以了,其他的不要动哦!完成后的效果!点击确定按钮之后呈现出来的画面鼠标右击新建的driver属性,会弹出...原创 2019-05-27 16:04:53 · 1381 阅读 · 0 评论 -
VS2012+wdk7600下开发驱动-配置环境
我的环境:win7x64+wdk7.6+vs2012速成版安装流程:先安装vs2012或其他微软的ide,再安装wdk7.6的所有内容安装好wdk之后,先简单测试一下安装是否正常。首先打开wdk的任意一个编译器,例如我打开了windows xp 目录下的x86 free编译器在wdk安装目录下的src文件夹下有很多源码实例,很有参考价值,选择一个实例,进入到这个实例所在的目录,例如...转载 2019-05-28 15:03:42 · 1093 阅读 · 1 评论 -
Windows驱动开发TraceView之日志打印
《Windows驱动开发技术详解》一书中,介绍了一种“Windows驱动程序日志打印和查看的方法”,具体就是:在需要打印日志的地方,调用“KdPrint”函数,该函数类似标准C的printf(print file)函数。然后用“DebugView.exe”软件查看日志。一、引入事实上,微软也提供了一个日志打印和日志查看机制,它可以查看指定的驱动文件的日志,并根据“Level...原创 2019-05-29 10:27:02 · 2571 阅读 · 0 评论 -
CTL_CODE 宏 详解
CTL_CODE宏CTL_CODE:用于创建一个唯一的32位系统I/O控制代码,这个控制代码包括4部分组成:DeviceType(设备类型,高16位(16-31位)),Function(功能2-13 位),Method(I/O访问内存使用方式),Access(访问限制,14-15位)。这个宏创建一个独特的系统I/O(输入输出)控制代码(IOCTL)。#define...原创 2019-06-11 08:44:25 · 2066 阅读 · 0 评论 -
VS中编译64位程序以及遇到的问题(E0000235)
安装64位操作系统不是编译64位程序的必要条件,关键是要装64位程序的编译器。1. 选择“Build” – “Configuration Manager”菜单,打开配置管理器。点击新建解决方案平台。2. 选择“x64”平台,点击确定按钮。3. 这时候配置管理器中的平台已经改成刚才选择的x64了,这时候编译出来的就是64位程序了。可以在工具栏的平台下拉框中快速切换目标平台。4. 如果...原创 2019-06-26 09:33:58 · 6178 阅读 · 0 评论 -
WDF驱动的编译、调试、安装
编译和调试使用WDK编译,源代码应包括wdf.h,ntddk.h以及KMDF_VERSION=1,编译使用/GS。KMDF包括以下库:1). WdfDriverEntry.lib(编译时绑定):驱动入口,调用驱动的DriverEntry。2). WdfMM000.sys:DDI库,安装驱动时候,由co-installer来完成该sys的安装,驱动运行时动态绑定之。3). Wdfldr.sys:引导原创 2015-01-09 08:53:26 · 5793 阅读 · 0 评论