windows驱动 WDF KMDF开发 DMA获取完整SGlist方法 [问题点数:100分]

Bbs1
本版专家分:0
Blank
Github 绑定github第三方账户获取
结帖率 0%
菜鸟WDF驱动开发系列(2):调试第一个KMDF驱动程序
根据系列上一篇的内容,已经基本作好了<em>驱动</em>调试环境的配置,现在着手开始试一下怎么用WinDBG调试。每一位新手在开始学习<em>驱动</em><em>开发</em>的时候相信总会看大量的资料,如我第一篇提到的几本书的确是不错的,但名著总有一个问题就是,开篇一开始总是会铺陈太多的基本理论,这会让我们觉得手足无措,更不知如何下手。个人的经验是,直接从例程入手,理论要逐步了解——我说这话的主要原因是:我对<em>驱动</em><em>开发</em>的理论一点也不清楚。反正,先
windows驱动程序wdf--KMDF大致框架
继WDM后微软出了WDF,封装了WDM中的一些基本代码逻辑。本人菜鸟,也不知道本质上有何区别,只觉得是多了Wdf开头的函数,基本的编程框架上有点出入。KMDF是WDF的内核级部分,为了理清KMDF的结构,又觉得内核编程很复杂,HelloWorld类型的程序实在说明不了什么  修改一下《<em>windows</em>设备<em>驱动</em>WDF<em>开发</em>》的CharSample,查了WDK帮助文档加上注释以帮助自己理解KMDF的大致运
基于WDF的PCI/PCIe接口卡Windows驱动程序(1)-WDF概述及开发环境搭建
1.1WDM与WDF Windows平台下的设备<em>驱动</em>程序从Windows 2000开始都是以WDM ( Windows Driver Model) 框架为平台进行<em>开发</em>。以此模型<em>开发</em>,<em>开发</em>者需要一方面实现<em>驱动</em>程序与硬件的交互,另一方面要对操作系统内核进行操作,难度大。<em>驱动</em>程序容易出现问题,这也是Windows2000以来操作系统容易蓝屏的原因。 为了改善这种局面,降低<em>驱动</em>程序<em>开发</em>者的<em>开发</em>
KMDF驱动程序中处理DMA操作
          Windows <em>驱动</em>程序框架中的 DMA 简介   内核模式<em>驱动</em>程序框架支持总线主控 直接内存访问 (DMA) 设备,这些设备提供其自己的 DMA 控制器。上述支持包括:   一组框架 DMA 对象和<em>方法</em>,供<em>驱动</em>程序用于将 I/O 请求转换为 DMA 操作。 <em>驱动</em>程序提供的事件回调函数,可对设备进行编程以便启动各 DMA 传输操作。   框架支持单个数据...
kmdf驱动教程1——从Hello World开始
<em>kmdf</em> <em>驱动</em><em>开发</em>入门
Windows设备驱动程序WDF开发清晰完全版
全网唯一重制版,页面真正清晰版本,已去除广告,含<em>完整</em>书签,含配套源码,看到的同学有福了! 《Windows设备<em>驱动</em>程序WDF<em>开发</em>》主要介绍KMDF设备<em>驱动</em>程序的原理及编程<em>方法</em>;详细介绍KMDF对象及程序基本框架,KMDF和应用程序之间的通信、即插即用和电源管理的编程技术,过滤器<em>驱动</em>程序,KMDF访问硬件设备、处理硬件中断、实现DMA操作的编程技术,以及USB接口和PCI接口设备<em>驱动</em>程序KMDF的<em>开发</em>。还对UMDF设备<em>驱动</em>程序作了编程入门介绍。本书附有13个典型的编程实例,便于读者学习和掌握。 Windows设备<em>驱动</em>程序WDF<em>开发</em> 目录: 第1章 Windows 2000和WDM<em>驱动</em>程序 1.1 Windows 2000组件概述 1.2 Windows 2000中的<em>驱动</em>程序种类 1.3 WDM<em>驱动</em>程序特点 1.2.1 内核模式<em>驱动</em>程序的设计目标 1.3.2 WDM<em>驱动</em>程序模型 1.3.3 设备和<em>驱动</em>程序的层次结构 1.3.4 中断级别IRQL 1.3.5 设备接口 第2章 KMDF<em>驱动</em>程序框架 2.1 KMDF对象 2.1.1 对象概念 2.1.2 基本对象 2.2 KMDF程序结构 2.2.1 DriverEntry例程 2.2.2 EvtDriverDeviceAdd例程 2.2.3 I/O处理例程 2.2.4 即插即用和电源管理例程 2.3 CharSample实例 第3章 基本对象 3.1 WDFREQUEST对象 3.1.1 WDFREQUEST对象函数 3.1.2 I/O请求基本操作 3.2 WDFQUEUE对象 3.2.1 WDFQUEUE对象函数 3.2.2 队列编程 3.3 WDFTIMER对象 3.4 WDFDPC对象 3.5 WDFWORKITEM对象 3.6 WDFMEMORY对象 3.7 数据同步访问 3.7.1 WDFSPINLOCK对象 3.7.2 WDFWAITLOCK对象 3.8 字符串操作 3.8.1 字符串格式 3.8.2 WDFSTRING对象 3.8.3 串处理函数 3.9 QueueSample实例 第4章 KMDF<em>驱动</em>程序编程入门 4.1 建立KMDF编程环境 4.2 创建KMDF<em>驱动</em>程序 4.3 生成KMDF<em>驱动</em>程序 4.4 安装KMDF<em>驱动</em>程序 4.5 RegSample实例 4.5.1 RegSample<em>驱动</em>程序 4.5.2 Win32 Console应用程序 4.5.3 MFC应用程序 4.6 调试说明 第5章 KMDF<em>驱动</em>程序和应用程序之间的通信 5.1 应用程序对<em>驱动</em>程序的通信 5.1.1 打开设备 5.1.2 关闭设备 5.1.3 DeviceIoControl函数调用 5.1.4 ReadFile和WriteFile函数调用 5.1.5 IOSample实例 5.2 <em>驱动</em>程序对应用程序的通信 5.2.1 DeviceIoControl异步完成 5.2.2 WIN32事件通知 5.3 <em>驱动</em>程序对应用程序通信实例 5.3.1 异步完成实例CancelSample 5.3.2 事件通知实例EventSample 第6章 即插即用例程 6.1 即插即用简介 6.1.1 PnP组件 6.1.2 即插即用例程 6.1.3 例程的加载和卸载顺序 6.2 PnpPowerSample实例 第7章 电源管理 7.1 电源管理简介 7.1.1 系统电源状态与设备电源状态 7.1.2 电源管理控制标志位 7.1.3 设备的唤醒特征和空闲检测 7.2 电源管理编程 7.2.1 电源管理基本例程 7.2.2 设备唤醒 7.2.3 空闲检测 7.3 IdleSample实例 第8章 KMDF过滤器<em>驱动</em>程序 8.1 KMDF过滤器<em>驱动</em>程序的编程 8.2 KMDF过滤器<em>驱动</em>程序安装 8.3 FilterSample实例 第9章 USB设备<em>开发</em> 9.1 USB接口概述 9.1.1 USB设备的配置、接口和端点 9.1.2 USB数据的传输方式 9.1.3 USB描述符 9.1.4 标准设备请求 9.2 USB编程对象 9.2.1 WDFUSBDEVICE对象 9.2.2 WDFUSBINTERFACE对象 9.2.3 WDFUSBPIPE对象 9.3 USB编程 9.3.1 激活配置与中止配置 9.3.2 同步操作 9.3.3 异步操作 9.4 USBSample实例 第10章 PCI设备<em>驱动</em>程序<em>开发</em> 10.1 硬件访问 10.1.1 I/O访问 10.1.2 存储器访问 10.1.3 硬件访问编程 10.2 中断处理 10.2.1 WDFINTERRUPT对象 10.2.2 中断处理编程 10.3 DMA传输 10.3.1 DMA编程对象 10.3.2 DMA传输编程 10.4 PCISample实例 10.5 DMASample实例 第11章 UMDF<em>驱动</em>程序编程入门 11.1 UMDF编程环境 11.2 创建UMDF<em>驱动</em>程序 11.3 生成UMDF<em>驱动</em>程序 11.4 安装UMDF<em>驱动</em>程序 11.5 UMDFSample实例 11.5.1 <em>驱动</em>程序 11.5.2 Win32 Console应用程序 第12章 WinDbg使用介绍 12.1 用WinDbg调试KMDF 12.1.1 目标机的设置 12.1.2 主控机的路径设置 12.1.3 建立连接 12.1.4 加载符号文件 12.1.5 设置断点 12.1.6 断点执行 12.1.7 下载符号包 12.2 用WinDbg调试UMDF 12.2.1 路径设置 12.2.2 链接进程 12.2.3 设置断点 12.2.4 使能UMDF加载和初始化代码调试
windows 驱动开发 DDK与WDK WDM的区别
最近尝试去了解WINDOWS下的<em>驱动</em><em>开发</em>,现在总结一下最近看到的资料。   1.首先,先从基础的东西说起,<em>开发</em>WINDOWS下的<em>驱动</em>程序,需要一个专门的<em>开发</em>包,如:<em>开发</em>JAVA程序,我们可能需要一个JDK,<em>开发</em>WINDOWS应用程序,我们需要WINDOWS的SDK,现在<em>开发</em>WINDOWS下的<em>驱动</em>程序,我们需要一个DDK/WDK。   2.DDK(Driver Developer Kit
武安河《Windows设备驱动程序WDF开发》CharSample案例移植
目标机为win 7虚拟机 在vs2015下编译CharSample,注意工程属性 Debug x64 目标机为win 7虚拟机,所以必须设置为Windows 7,否则在虚拟机中安装<em>驱动</em>时会出现蓝屏!!! 编译<em>驱动</em>,找到输出文件夹,拷贝Debug至虚拟机 添加新硬件,选择从磁盘安装,定位到inf文件,Debug中有两个,都试下 成功安装后 ...
基于WDF框架的PCIE驱动设计
1.    概述 Windows平台下的设备<em>驱动</em>程序从Windows 2000开始都是以WDM ( Windows Driver Model) 框架为平台进行<em>开发</em>。以此模型<em>开发</em>,<em>开发</em>者需要一方面实现<em>驱动</em>程序与硬件的交互,另一方面要对操作系统内核进行操作,难度大。<em>驱动</em>程序容易出现问题,这也是Windows2000以来操作系统容易蓝屏的原因。 为了改善这种局面,降低<em>驱动</em>程序<em>开发</em>者的<em>开发</em>难度,提高系统稳...
WDK7编译WDF相关的驱动程序错误解决办法
在编译WDF类型的<em>驱动</em>程序时,我采用的是VisualDDK+VS2008的编译环境,出现了很多编译环境的问题, 总结如下: 1.在实际编译的时候,出现了类似于下面的编译错误: C:\Program Files\Microsoft Visual Studio 9.0\VC\include\crtdefs.h(550): error C2143: syntax error : missing '
kmdf驱动教程2——驱动程序与应用程序通信
1 简述作为写在最前面的话,我不会在本教程中专门去介绍KMDF框架、对象、<em>方法</em>等基础知识,因为相关资料已经不少,而且文档中都有,如果读者不了解,应该先去看看相关内容。<em>驱动</em>程序作为内核模式的一部分,都是为我们的应用程序服务的。而我们在教程1中编写的HelloWord不仅没有为我们服务,而且我们还难以控制,除了在设备管理器中操作,连打印出来的信息都要特殊的工具才能看得到。所以,一方面我们要让<em>驱动</em>程序为我
WDF驱动中KMDF与UMDF区别
转载自:http://emesjx.spaces.eepw.com.cn/articles/article/item/84585 众所周知, 早期的Windows 95/98的设备<em>驱动</em>是VxD(Virtual Device Driver),其中x表示某一类设备。从Windows 2000开始,<em>开发</em><em>驱动</em>程序必以WDM(Windows Driver Model)为基础的,但是,如果使用D
谈WDM与WDF (windows驱动开发)
WDF<em>驱动</em>模型 如所周知,自Windows 2000开始,<em>开发</em><em>驱动</em>程序必以WDM为基础的,但其<em>开发</em>难度之大,根本不能奢望像用户模式应用程序<em>开发</em>那样容易。为改善这种局面,微软推出了新的<em>驱动</em>程序<em>开发</em>环境。要预先指出的是,这不是另起炉灶改弦更张,而是以WDM为基础进行了建模和封装,显著特点是降低了<em>开发</em>难度。因为: 1、   将原来普通程序设计中基于对象的技术应用到了<em>驱动</em><em>开发</em>中。WDM中虽也有对象模型
windows驱动开发-基于WDF的Altera PCIe DMA驱动
Altera pcie-avmm <em>dma</em> IP寄存器 DMA Descriptor Controller Registers DMA控制器读写均支持最多128个描述符,读写操作是以FPGA视角来看,读操作是从PCIe地址空间到FPGA Avalon-MM地址空间,写操作是从FPGA Avalon-MM地址空间到PCIe地址空间。 在DMA控制器寄存器里设置描述符表位于在PCIe地址空间里...
win驱动kmdf和umdf区别
最近学习win<em>驱动</em>,发现有两种模式<em>kmdf</em>和umdf,很想知道它们的区别,今天在window网站上看到,跟大家分享一下。 window原文如下,先贴出来:          大意是UMDF是KMDF的一个子集,如果<em>驱动</em>中没有上表中列的功能,就优先用UMDF。如果写着写着发现<em>驱动</em>中用到上表的功能,那就把工程转成KMDF呗,很容易的。
第二篇.WDF驱动简介及几个驱动对象介绍
1.1   WDF简述: WDF是微软提出的全新<em>驱动</em>程序模型,它提供了面向对象、事件<em>驱动</em>的<em>驱动</em>程序<em>开发</em>框架,对它的研究是设计高效稳定设备<em>驱动</em>程序的基础。注意理解WDF模型的特点,对象模型,以及基本结构. 设备<em>驱动</em>程序是硬件设备连接到计算机系统的软件接口,任何设备都必须有相应的<em>驱动</em>程序才能在计算机系统上正常工作。设备<em>驱动</em>程序的优劣直接关系到整个系统的性能和稳定性,因此,设计和<em>开发</em>稳定高效的驱
WDF 驱动版本及系统支持情况
WDF<em>驱动</em>版本对应操作系统支持情况
win7 vs2012+wdk8.0 搭建wdf驱动开发环境
<em>开发</em>环境搭建:系统:win7 x64工具:vs2012 + WDK8.0插件:<em>wdf</em>coinstaller.msi(1)先安装vs2012,再安装wdk8.0,这样在打开vs2012时可以创建<em>windows</em> drivers类型的工程。注:vs2012不能安装wdk8.1,wdk8.1必须安装在vs2013上下载链接:http://msdn.microsoft.com/zh-cn/<em>windows</em>/h
win10下使用VS2015+WDK10生成win7 X64的设备驱动的过程
本文主要介绍“win10下使用VS2015+WDK10生成win7 X64的设备<em>驱动</em>”的过程,并在win7 X64下安装的过程。具体如下: 1,在win10下,使用VS2015+WDK10新建一个KMDF工程,命名为“MyKMDF”,注意要选择那个“非empty”的KDMF,它会生成如下几个文件: 2,查看它的“public.h”文件,有如下的GUID定义: // // Define
windows WDF驱动开发总结(7)--网络驱动开发(NDIS)
NDIS 网络设备接口规范(1)    NDIS_PROTOCOL_CHARACTERISTICS函数功能:This structure is used to specify the version numbers and various callback functions for a protocol.typedef struct _NDIS_PROTOCOL_CHARACTERISTICS {  UCHAR MajorNdisVersion;  UCHAR Mino
WDF驱动的编译、调试、安装
编译和调试使用WDK编译,源代码应包括<em>wdf</em>.h,ntddk.h以及KMDF_VERSION=1,编译使用/GS。KMDF包括以下库:1). WdfDriverEntry.lib(编译时绑定):<em>驱动</em>入口,调用<em>驱动</em>的DriverEntry。2). WdfMM000.sys:DDI库,安装<em>驱动</em>时候,由co-installer来完成该sys的安装,<em>驱动</em>运行时动态绑定之。3). Wdfldr.sys:引导
基于WDF的PCI/PCIe接口卡Windows驱动程序(3)- 驱动程序代码(头文件)
原文出处:http://www.cnblogs.com/jacklu/p/4679304.html 在WDF的PCIe<em>驱动</em>程序中,共有四个.h文件(Public.h  Driver.h  Device.h  Trace.h)。本文将分别对四个文件源代码进行详细的解释。  Public.h 1 #ifndef _USER_H 2 #define _USER_H 3 //
基于WDF的PCIe驱动开发
由于第一次接触WDF<em>驱动</em><em>开发</em>,因此底层<em>驱动</em>基于微软提供的PCI9056<em>驱动</em>例子(因PCIe和PCI配置空间基本一致,故对9056例子做适当修改便可直接安装使用)。 <em>驱动</em>层提供设备<em>驱动</em>的基本功能函数,包括但不限于设备打开(OpenFile)、设备关闭(CloseFile)、数据读写(ReadFile/WriteFile)以及DeviceIoControl等,本文主要工作是基于基本函数对<em>驱动</em>进行封装
WDF驱动开发(3)- 用户模式程序和驱动的数据交互
当用户模式的程序调用<em>驱动</em>的时候,怎么传递数据呢? 通常用户模式程序和<em>驱动</em>的数据交互有3种办法:buffer方式,direct方式和其他方式。可以看之前我写的WDM<em>驱动</em>模型:http://blog.csdn.net/zj510/article/details/8212032 那么在WDF里面又如何操作呢?我们考虑给WDF<em>驱动</em>增加一个功能:将WRITE请求的数据写入设备对象上下文,然后当READ请
WDF驱动中处理消息中断(MSI)
I have been struggling with something similar in the last week. My application is slightly different because I am trying to get plain MSI interrupts rather than MSI-X interrupts to work. But I am using
VS2015+WDK10环境下PCIe_XDMA驱动工程编译
我们的目的是修改官方<em>驱动</em>中对单次传输文件大小的限制,官方示例中将单次传输大小限制在了8MB。因此需要修改参数并重新编译工程。 开始之前需要搭建好VS2015+WDK的<em>驱动</em><em>开发</em>环境。 本文的工作基于赛灵思官方XDMA<em>驱动</em>工程,如果对原始工程能进行正确配置编译则在原工程上修改编译即可,可忽略本文,。本文的<em>方法</em>适于无法对源工程完成正确配置和编译时,利用官方的源码单独建立工程完成编译。 另:本文的部...
第三篇.WDF驱动之Helloworld
借助Microsoft提供的
windows wdf 驱动开发总结(5)--PCI 驱动
PCI<em>驱动</em>相关(CY7C09449)(AMCC5933)     PCI总线标准是一种将系统外部设备连接起来的总线标准,它是PC中最重要的总线。其它总线ISA总线,USB总线都挂在PCI总线上。 (2.1)WDF_INTERRUPT_CONFIG_INIT 函数功能:initializes a WDF_INTERRUPT_CONFIG structure. VOID   WDF_IN
Windows设备驱动程序WDF开发及源码
Windows设备<em>驱动</em>程序WDF<em>开发</em>及源码,需要的同志请拿走
驱动编程(一),NT - WDM - WDF 驱动概念
NT是<em>驱动</em>模型:NT式<em>驱动</em>程序模型是一种比较老式的<em>驱动</em>程序模型,但适用于现有的Windows系统。NT式<em>驱动</em>模型没有固定的形式,最简单的NT式<em>驱动</em>程序模型这一特点,程序<em>开发</em>者可以编写一个完全不支持硬件工作的<em>驱动</em>程序,却可以将代码运行在内核模式中。 WDM<em>驱动</em>程序模型:WDM式<em>驱动</em>程序在NT式<em>驱动</em>程序的基础上,还必须: 1、包括wdm.h头文件,问不是ntddk.h(wdm.h是ntddk.h的
基于WDF的PCIPCIe接口卡Windows驱动程序
基于WDF的PCIPCIe接口卡Windows<em>驱动</em>程序基于WDF的PCIPCIe接口卡Windows<em>驱动</em>程序
驱动程序(3) WDF下DMA传输的驱动程序代码详细说明之头文件
之前提到根据KMDF模板生成的程序里主要有5个头文件和3个源文件,接下来的几篇文章则会对这些文件详细说明,一个<em>驱动</em>程序是怎样写成的。这一篇主要说明几个头文件。 1. device.h /*++ Module Name: device.h Abstract: This file contains the device definitions. Environment: Kernel-mode ...
区分 WDM驱动和NT驱动(有待继续思考)
WDM由.inf文件加载,NT通过服务手动加载 WDM支持即插即用,NT不支持即插即用 WDM通过注册表指定挂载那个<em>驱动</em>,NT可通过寻找不同的设备对象指定挂载 没有INF,WDM也有加载成功的可能。但是运行会出问题,不信你弄个WDM的<em>驱动</em>,用DriverMonitor(加载NT<em>驱动</em>的工具)也可以加载,但是没法卸载。不像NT的那样能卸载,为什么呢?因为结构不同,WDM的IRP_MJ_CLO
VS2017+WDK10驱动编译与调试
<em>驱动</em>编译: 安装VS2017 和WDK 10 ,下载地址: https://docs.microsoft.com/zh-cn/<em>windows</em>-hardware/drivers/download-the-wdk 如果安装VS2017时没有选择安装<em>windows</em> SDK,打开Visual Studio Iinstaller添加安装sdk组件 VS2017安装完成,启动下载好的wdks...
KMDF工程新增source文件出现的"TraceEvents未定义”编译错误
问题引入:在<em>windows</em><em>驱动</em><em>开发</em>过程中,我们一般会用VS2015+WDK10,新建一个KMDF工程(非empty)。该过程可参考我的另一篇博客:点击打开链接。这个工程新建好了,并能编译通过,但有时我们需要在该工程中新增source文件。通过在VS中“添加现有项"或”新增加项“的方式添加一个或几个新的源文件到工程中。然后再编译,会报错”error C4013: “TraceEvents”未定义
谈WDM与WDF
 原文地址http://yinaiyun52.blog.163.com/blog/static/36251574200826112436776/ WDF<em>驱动</em>模型 如所周知,自Windows 2000开始,<em>开发</em><em>驱动</em>程序必以WDM为基础的,但其<em>开发</em>难度之大,根本不能奢望像用户模式应用程序<em>开发</em>那样容易。为改善这种局面,微软推出了新的<em>驱动</em>程序<em>开发</em>环境。要预先指出的是,这不是另起炉灶改弦更张,而是
基于WDF的PCI/PCIe接口卡Windows驱动程序(2)-开发者需要了解的WDF中的一些重要的概念
原文出处:http://www.cnblogs.com/jacklu/p/4646601.html 1、WinDBG是唯一的内核<em>驱动</em>调试利器,但是<em>开发</em>PCIe的WDF<em>驱动</em>可以采用“黑盒”方式,所以windbg不是必须的; 2、WDF比WDM好,别再用WDM了; 3、<em>驱动</em>程序编译成的二进制文件是sys类型,和EXE一样都是Portable Executable Fi
Windows7下VS2013+WDK8.1开发WDF驱动程序全过程
1. 安装软件 下载安装VS2013+WDK8.1软件,安装完成后两个软件会自动整合到一起,不需要额外的配置。 2. <em>开发</em>WDF<em>驱动</em> 打开VS2013,“文件”-“新建“- ”项目“,在左边选择Visual C++下的Windows Driver,选择WDF,然后选择Kernel Mode Driver(KMDF) Visual C++,输入你要创建的<em>驱动</em>的名称,点击“确定”就创建了一个KM
驱动程序(6) WDF下DMA传输的驱动程序代码详细说明之queue.c
这一篇主要讲queue.c里对于消息请求队列的处理,涉及到了和应用程序的通信,同时为了以后的项目需求,也加入了DMA传输和传输完成后的MSI中断处理。 queue.c /*++ Module Name: queue.c Abstract:This file contains the queue entry points and callbacks.And it includes DeviceIoC...
从零开始学习Windows WDF驱动程序开发
从零开始学习Windows WDF<em>驱动</em>程序<em>开发</em> ▼ 目录: 1. 第一部分 编译安装测试一个简单的WDF<em>驱动</em>程序    1.1 编译安装测试    1.2 Windows<em>驱动</em><em>开发</em>就是要<em>开发</em>出INF文件和SYS文件    1.3 简单介绍下编译脚本    1.4 Windows应用程序如何访问一个设备 2. 第二部分 了解WDF框架并且<em>开发</em>WDF驱
Wdf框架:FxDriverEntry----驱动程序的入口函数
在前面的文章中简单的提到过WdfVersionBind函数的作用,但是没有来得及分析这个函数的调用处。今天得空,借这篇文章写下WdfVersionBind函数的调用者:FxDriverEntry。     在写这篇文章前,我被WdfLdr.sys的名字误导,以为这个sys文件是内核的加载器,用于加载整个内核启动(Ldr是Loader的缩写)。所以,当时我很粗浅的认为这个<em>驱动</em>只在系统引导阶段才被调
PCI设备WINDOWS驱动程序的开发
PCI设备WINDOWS<em>驱动</em>程序的<em>开发</em>摘要:本文主要介绍了在Windows9x操作系统下<em>开发</em>PCI设备<em>驱动</em>程序的<em>方法</em>。关键词:PCI设备 <em>驱动</em>程序 PCI设备概述近几年来,随着诸如图形处理、图像处理、三维动画技术的发展,计算机与外设通信需要处理的数据量迅速增加,基于ISA总线的通信方式已经不能满足高速数据传输的要求,PCI局部总线的引用就是为了打破高速数据传输的瓶颈。PCI总线的英文全称是:Peripheral Component Interconnect S
windows wdf 驱动开发总结(9)--网络驱动开发(NDIS)
此篇文章来自Internet,写的挺不错的,在这里转贴过来。NIC1394 网卡<em>驱动</em>收包过程:网卡的发包和收包过程网卡也叫“网络适配器”,英文全称为“Network Interface Card”,简称“NIC”,网卡是局域网中最基本的部件之一,它是连接计算机与网络的硬件设备。无论是双绞线连接、同轴电缆连接还是光纤连接,都必须借助于网卡才能实现数据的通信。    网卡的主要工作原理是整理计算机上发往网线上的数据,并将数据分解为适当大小的
《Win7设备驱动程序开发》学习笔记
《Windows 7 设备<em>驱动</em>程序<em>开发</em>》是美国Ronald D. Reeves著的一本关于WDF模型的Windows <em>驱动</em>程序<em>开发</em>教程,适用于Win7和Win10。本文我学习该书的一些笔记,目前主要是一些知识点的索引,通过本文可以迅速找到对应知识点的章节,后续将增加知识点的讲解和个人理解以及扩展链接。内容如下(不断更新中): -------------------------------
学习windows驱动(WDF USB设备驱动开发)
学习WDF USB<em>驱动</em><em>开发</em>, 那么怎么进行WDF USB设备<em>驱动</em><em>开发</em>呢? 我们需要懂什么? 需要做什么呢? 根据《竹林蹊径 深入浅出Windows<em>驱动</em><em>开发</em>》第4章 WDF USB设备<em>驱动</em><em>开发</em>里介绍的目录可以初见端倪,需要了解USB设备硬件结构,USB软件结构,内核<em>开发</em>, 数据I/O操作,设备控制,用户程序。USB设备硬件结构。 USB是Universal Serial Bus(通用串行总
windows驱动开发-vs2017 WDK10开发环境搭建
下载安装包 微软官网下载安装包,然后下载vs2017离线安装包,双击离线目录setup.exe安装vs2017,选择C++桌面<em>开发</em>。 D:\vs_enterprise__111975078.1529511260.exe --layout D:\vs2017 --lang zh-CN en-US 配置下载缓存路径, vs2017注册码(来自网络) Visual Studio 2017 ...
windows下的驱动开发(过滤驱动)
最近对<em>驱动</em>比较感兴趣,所以打算做个<em>windows</em>下面的<em>驱动</em>,正好自己电脑的鼠标左键的单击有的时候会变双击,所有打算弄个鼠标的过滤<em>驱动</em>来解决这个问题。 网上找了一下,原来早就有人做了这个功能 http://download.csdn.net/detail/guijc1/5263421(不是故意给这个打广告的),所以我的代码基本都是仿照这里的源码。 这篇文章的重点是如何动手写一个过滤<em>驱动</em>,不是
XDMA设备在windows下的驱动编程
XDMA设备在<em>windows</em>下的<em>驱动</em>编程 博客里写的不够详尽,也不太方便阅读代码,我将源码放在百度网盘链接:https://pan.baidu.com/s/1yt1mbl6Unkam3huz8T9MRw 密码:k6ti ;并在源码里做了注释 了解一下什么叫总线模型(这是Linux下的概念,但是感觉和<em>windows</em>有相通之处),总线负责连接<em>驱动</em>和设备,通俗的来说就是总线提供接口给...
Windows设备驱动程序WDF开发(含源码)
Windows设备<em>驱动</em>程序WDF<em>开发</em>,书和源码都有,非常好的东西,且需要的积分少。
Windows驱动开发之入门篇(一)
本文主要介绍“如何入门Windows<em>驱动</em><em>开发</em>”和“新手需要掌握哪些知识和动手技能”,大部分是本人探索Windows<em>驱动</em><em>开发</em>近一月时间的经验之谈。大致包括如下几个方面: 1,<em>开发</em>工具、调试工具和调试手段; 2,Windows<em>驱动</em><em>开发</em>框架; 3,<em>驱动</em>程序基本知识; 4,PCIE<em>驱动</em>程序; 5,学习资料         以上内容在本文仅做简单介绍,后续随着本人经验的增加,将经常更新本文,并对
基于WDF的PCI/PCIe接口卡Windows驱动程序(4)- 驱动程序代码(源文件)
原文出处:http://www.cnblogs.com/jacklu/p/4687325.html 本篇文章将对PCIe<em>驱动</em>程序的源文件代码作详细解释与说明。整个WDF<em>驱动</em>程序工程共包含4个头文件(已经在上篇文章中讲解)和3个.c文件(Driver.c  Device.c   Queue.c) Driver.c 在看复杂的代码前,先给出程序流程图  
认识一下WDF
概念WDF(Windows Driver Framework, Windows<em>驱动</em>框架)包含UMDF(User Mode Driver Framework, 用户模式<em>驱动</em>框架)和KMDF(Kernel Mode Driver Framework, 内核模式<em>驱动</em>框架)。内容概括:WDF是基于对象的框架,它包含:<em>驱动</em>对象、设备对象、IO请求对象、队列对象、目标对象等。 框架管理对象的生命周期。 框架
如何用KMDF开发驱动
本文档描述了如何用KMDF(Windows系列OS下WDF<em>驱动</em><em>开发</em>环境的组件)<em>开发</em><em>驱动</em>的简单示例,用于指导已熟悉KMDF的<em>开发</em>人员来编写第一个内核模式的<em>驱动</em>。本文通过几个内核模式<em>驱动</em>的示例来阐明WDF<em>驱动</em>的结构以及如何实现<em>驱动</em>的通用功能。 从结构组织上,本文在简单回顾KMDF的基础上,在第4章讲述如何编写基于KMDF的最小Function<em>驱动</em>,在第5章讲述如何编写基于KMDF的纯软件<em>驱动</em>,在第6章讲述如何编写基于KMDF的硬件设备<em>驱动</em>。
借助WinDriver认识Windows PCIE设备的空间结构
本文主要通过WinDriver工具图形化的查看PCIe设备,来认识PCIe设备的空间结构。本文主要参考《PCI Express体系结构导读》和网友博客:点击打开链接。 一、PCIe设备空间结构         PCIe设备有三个独立的物理地址空间:设备存储器空间(memory)、IO空间和配置空间(config)。由于PCIe设备支持即插即用,存储器空间和IO空间是在设备插入host后
《Windows设备驱动程序WDF开发》源码
Windows设备<em>驱动</em>程序WDF<em>开发</em>源码,适合新手学习借鉴。
windows驱动程序WDF开发+WDF USB驱动开发指南+usb2.0协议
本文件夹旨在帮助广大同学们学习<em>windows</em> <em>wdf</em><em>驱动</em><em>开发</em>。重点是usb<em>驱动</em><em>开发</em>。学习完这三个文件后,你将拥有为usb设备<em>开发</em><em>windows</em><em>驱动</em>程序的能力。如需学习stm32 usb设备的<em>开发</em>,敬请关注本人csdn账号。本人有stm32 usb设备<em>开发</em>的相关文档:“STM32F10xxx全速USB设备<em>开发</em>套件用户手册+usb2.0协议”
WDF驱动安装方法
WDF<em>驱动</em>的安装<em>方法</em>: 编译好的SYS文件、INF文件、另外还需要一个WdfCoInstaller01009.dll文件,对应的WDK版本是7600.16385.1这个版本,其中WdfCoInstaller01009.dll文件位于“WDK安装目录” \redist\<em>wdf</em>\x86下,这个动态链接库文件是WDF<em>驱动</em>框架在安装时所必需的一个文件,用于安装<em>驱动</em>框架本身的相关内容。 下面是具
WDF驱动开发(1)- 一个简单的WDF驱动(non-pnp)
最近因为工作关系,接触了一下WDF<em>驱动</em><em>开发</em>。 WDF<em>驱动</em>其实是微软公司提供的一套<em>驱动</em><em>开发</em>的框架。有了这个框架之后,<em>开发</em><em>驱动</em>会简单一些。WDF本身是从WDM基础上封装而成的。WDF里面封装了很多对象,如WDFDRIVER等。如果要学习使用WDF来<em>开发</em><em>驱动</em>,个人感觉还是需要WDM的一些基础,不然很多东西挺难理解的。 写了一个简单的WDF<em>驱动</em>(非pnp),基本步骤如下: 创建framework 驱
基于Windows8与Visual Studio11开发第一个内核驱动程序
Windows <em>驱动</em>程序的发展演变 我们在学习<em>开发</em><em>驱动</em>程序时有必要弄清楚Windows设备<em>驱动</em>程序的发展演变过程(为了简便起见,以下简称<em>驱动</em>程序),以便明白我们将要<em>开发</em>什么样的<em>驱动</em>程序。这就象你<em>开发</em>一个应用程序时必须弄清楚它是运行在WINDOWS平台下还是在DOS平台下,否则我们能写出什么样的应用程序就可想而知了。       <em>驱动</em>程序<em>开发</em>者的各项任务之中,有许多是为特定的硬件编写<em>驱动</em>程序。由于W
驱动程序(4) WDF下DMA传输的驱动程序代码详细说明之driver.c
从这一篇开始介绍几个比较重要的源文件和应用程序,并且会对其中一些关键代码进行说明。这些代码流程都是本人亲身测试可行的,但是由于当时调试时杂七杂八的东西加的太多,现在看起来有的地方的代码风马牛不相及,如果完全照搬的话可能行不通的,还是需要各位读者自行理解然后加以改进的。当然如果有问题也欢迎各位读者指出更正,谢谢! driver.c /*++ Module Name: driver.c Abstrac...
Windows设备驱动程序WDF开发.pdf 较高清扫描版
本PDF为较高清扫描版,缺点是没有书签目录以及有点小广告,不过基本不影响阅读(希望吧)。
Windows设备驱动程序WDF开发 武安河
Windows设备<em>驱动</em>程序WDF<em>开发</em> 武安河 资源为我的联系方式 支持支付宝交易
如何在win10+VS2017环境下新建一个简单的WDF示例程序
上一课我们在win10系统+VS2017<em>开发</em>环境下搭建了WDK<em>驱动</em>程序<em>开发</em>环境的搭建,详见我的博客【如何在win10+VS2017环境下安装USB<em>驱动</em><em>开发</em>套件WDK】,今天我们来尝试建立一个最简单的KDM示例工程。 第一步:新建工程 记得要选择WDF模型下的空KMD<em>驱动</em>项目,项目名我输的是KMD_Test,大家可以自己更改。 第二步、输入代码 在源代码文件夹上右击,选择新建一个空白文件。 输...
windows xp 驱动开发(七)WDK源码 UsbSamp例子的编译及使用
转载请标明是引用于 http://blog.csdn.net/chenyujing1234 参考文章: http://msdn.microsoft.com/zh-cn/library/<em>windows</em>/hardware/ff544747 欢迎大家提出意见,一起讨论!  需要源码的请独与我联系. 一、例子介绍  UsbSamp是你安装完WinDDK后自带的一个USB例子,在D:\WIND
WDF for Server 2008
WDF (KMDF and UMDF) for the WDK Windows Server 2008 - This is version 1.7 of the WDF redistributable coinstallers.
WDF USB驱动开发指南(中文最佳,驱网原创)
本文档是<em>驱动</em><em>开发</em>网的核心团队,花费10余月时间推敲完成的技术文稿,专门讲解Windows平台下如何使用WDF框架进行USB<em>驱动</em><em>开发</em>,80余页内容,讲解透彻,是<em>驱动</em><em>开发</em>文档的不二之选。内容翔实,贴切实际,并且有配套的硬件<em>开发</em>板CY001。
驱动开发入门 - 之一:Win7 SP1 x64 驱动开发环境搭建
本文讲述在Win7 SP1 x64系统中,如何搭建基于WDK7600的<em>驱动</em><em>开发</em>环境
HelloWorld 驱动详解
driver.c: /*++ Module Name: driver.c Abstract: This file contains the driver entry points and callbacks. Environment: Kernel-mode Driver Framework --*/ #include "d
使用TraceView观察Windows PCIE驱动设备加载和卸载过程
本文主要结合TraceView.exe工具,介绍一个典型的KMDF<em>驱动</em>程序的加载和卸载过程。相关理论主要来自《Win7设备<em>驱动</em>程序<em>开发</em>》一书。关于TraceView.exe的使用,可以参考我之前的博客:点击打开链接。 一、启动和加载顺序         在《Win7设备<em>驱动</em>程序<em>开发</em>》的7.2节——“设备的枚举和启动”中,提到:为了准备操作设备,KMDF将按固定顺序调用<em>驱动</em>程序的回调例程。其中F
windows驱动开发-基于WDM的PCIe DMA驱动
连接中断 Servicing Interrupts Registering an ISR Using Message-Signaled Interrupts Removing an ISR IoConnectInterrupt MSI必须使用 IoConnectInterruptEx,参考WdmlibIoConnectInterruptEx #define IoConnectInte...
调试第一个KMDF驱动程序
菜鸟WDF<em>驱动</em><em>开发</em>系列(2):调试第一个KMDF<em>驱动</em>程序 2012-07-22 00:15:03 标签:WDF<em>开发</em> windbg <em>驱动</em>调试 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://joeyliu.blog.51cto.com/3647812/937826 根据系列上一篇的内容,已经基本作好了驱
WDF设备驱动框架
WDF设备<em>驱动</em>框架 2009-05-20 上午 06:49 1. 引言 设备<em>驱动</em>程序是硬件设备连接到计算机系统的软件接口,任何设备都必须有相应的<em>驱动</em>程序才能在计算机系统上正常工作。设备<em>驱动</em>程序的优劣直接关系到整个系统的性能和稳定性,因此,设计和<em>开发</em>稳定高效的<em>驱动</em>程序具有重要意义。 WDF(Windows Driver Foundation)是微软提出的下一代全新的<em>驱动</em>程
USB驱动开发(4)--传输USB I/O请求
要传输一个I/O其扭曲给USB I/O目标,<em>驱动</em>程序需要做以下步骤: l  创建一个请求或使用WDF框架提供的请求; l  创建请求需要的存储对象和缓存; l  格式化请求; l  如果需要,给请求指定一个I/O完成回调函数; l  发送请求。 WDF提供了USB特定的<em>方法</em>来格式化请求,发送某种类型的请求和<em>获取</em>完成数据。 5.1 KMDF 异步请求 要传输一个I/O其扭曲给USB
Wdf驱动蓝屏分析之一: 开启Verifier后蓝屏
/*****************************************************************************        代码架构  *****************************************************************************/  1、 用户通过deviceuicontrol发送请
PCI9054 DMA设置流程
1.设置方式寄存器:设置DMA通道的传输方式,寄存器DMAMODE0或者DMAMODE1的位9:0-表示块传输,1-表示散/聚传输;2.设置PCI地址寄存器:设置PCI总线侧的地址空间。3.设置LOCAL地址寄存器:设置LOCAL总线侧的地址空间。4.设置传输计数寄存器:以字节位单位设置传输数据量。5.设置描述寄存器:设置DMA传输的方向;在散/聚方式下,位0表示传输参数的加载地址,0-PCI地址
windows 驱动开发 DDK与WDK WDM的区别
1.首先,先从基础的东西说起,<em>开发</em>WINDOWS下的<em>驱动</em>程序,需要一个专门的<em>开发</em>包,如:<em>开发</em>JAVA程序,我们可能需要一个JDK,<em>开发</em>WINDOWS应用程序,我们需要WINDOWS的SDK,现在<em>开发</em>WINDOWS下的<em>驱动</em>程序,我们需要一个DDK/WDK。   2.DDK(Driver Developer Kit)和WDK(Windows Driver Kit)的区别:   这个要说说驱
WDF DMA 三要素
1 enable object WDF_DMA_ENABLER_CONFIG   <em>dma</em>Config;   WdfDeviceSetAlignmentRequirement(DevExt->Device, PCI9656_DTE_ALIGNMENT_16 ); WDF_DMA_ENABLER_CONFIG_INIT(&<em>dma</em>Config,
Windows驱动_UMDF驱动之一UMDF驱动架构
关于UMDF的文章还要继续,微软讲得太多了,后面会继续,本来想只用一章的,但是这样的话这个文章太长了,所以我打算尽量用5个章节来说明整个UMDF的框架。这里只是最最简单的理解,如果要认真的理解,请多实践。每个人的理解都不一样,这跟每个人的经历和工作都有关系,这里写这些文章。后面,我会根据自己的再次理解,而随时来调整文章。我始终认为,书看一次,绝对不够,看一下,过一两个月,再看,应该比第一次好点,再
驱动程序与应用程序之间的通信
<em>驱动</em>程序必须与应用程序进行通信,才能最终达到应用程序控制设备的目的,不然<em>驱动</em>有QIU用。 要通信就涉及到3个方面:  1.应用程序与<em>驱动</em>程序通信 2.<em>驱动</em>程序与应用程序通信 3.数据传输 下面分别讨论 1。应用程序与<em>驱动</em>程序通信 1-1 应用程序实现与<em>驱动</em>通信的过程:  ---用CreateFile打开设备,然后用DeviceIoControl和<em>驱动</em>通信,包括从<em>驱动</em>读数据和写数据2
WDF KMDF 内核模式驱动框架结构
Windows Driver Foundation - KMDF 内核模式<em>驱动</em>框架结构 全文下载 http://blog.csdn.net/chasemylov/archive/2010/11/08/5994605.aspx 微软提供的文档,中文翻译,适合KMDF新手入门
驱动程序(7) WDF下DMA传输的驱动程序代码详细说明之应用程序
这一篇主要说明应用程序怎么去和<em>驱动</em>程序通信的,包括识别打开<em>驱动</em>程序,传递数据到<em>驱动</em>程序,同时接收<em>驱动</em>程序返回的数据。 application.c 首先是应用程序的创建,WDF里利用模板生成<em>驱动</em>程序时时不带有应用程序的源文件的,需要我们自己手动生成,其实就是和创建一个C语言文件一样。找到<em>驱动</em>程序的解决方案,右键选择‘添加’-&amp;amp;amp;amp;gt;‘新建项目’-&amp;amp;amp;amp;gt;‘测试’-&amp;amp;amp;amp;gt;‘Applications...
Window XP驱动开发(二十三)Window驱动的派遣函数
转载请标明是引用于 http://blog.csdn.net/chenyujing1234  欢迎大家拍砖   参考书籍>   用户模式下所有对<em>驱动</em>程序的I/O请求,全部由操作系统转化一个叫做IRP的数据结构,不同的IRP数据会被“派遣”到不同 的派遣函数(Dispatch Function)中,这也是派遣函数名字的由来。 1、 IRP与派遣函数 IRP的处理机制类似Windows
Windows DMA驱动调试
本文记录我调试微软官方提供的一个PCI<em>驱动</em>sample程序的过程。 一、<em>开发</em>环境和资源下载 1,在win10 X64操作系统下,安装VS2015+WDK10。(参考我前面的<em>驱动</em><em>开发</em>入门篇) 2,使用TI6655 DSP<em>开发</em>板,点击打开链接。 3,下载微软官方发布在github上的<em>驱动</em>samples,点击打开链接,选择其中的“General/PLX9x5x”这个工程。 4,参考微软关于wi
Windows驱动开发如何入门
搞Windows<em>驱动</em><em>开发</em>是一件痛苦的事情,特别是初学Windows<em>驱动</em><em>开发</em>。有的人觉得Windows<em>驱动</em><em>开发</em>就是把<em>开发</em>包WDK下载下来,然后只要掌握了C/C++语言,接下来无非就是类库调来调去,像调用MFC、QT之类的库那样,看着书和MSDN上的文档来就行了。等真正接触以后才发现根本不是那么一回事,痛苦源于以下几点: 痛苦一:中文资料太少 讲Windows<em>驱动</em><em>开发</em>的,无论是中文书籍还是
WDF模型驱动-初稿
WDF特点: (1)系统兼容,内部磨合了系统、平台间的差异,对外提供了统一的DDI接口 (2)基于对象的框架。 有一个最基本的对象,其他对象都是在这个对象上进行扩展。对象:<em>驱动</em>对象,设备对象,IO对象,队列对象和目标对象。 (3)框架管着所有对象的声明周期。通过引用计数和父子层级关系来维护这个工作。 (4)对框架对象所设计的一套设施,如:上下文空间、同步锁等。使得框架对象容易操作,又有安全
KMDF HID Minidriver for Touch I2C Device
KMDF HID Minidriver for Touch I2C Device 电脑触屏文件
WDF开发USB设备驱动教程(1)
PDF下载地址(1.2版):http://bbs.driverdevelop.com/read.php?tid-120461.html CY001<em>开发</em>板讨论帖:http://bbs.driverdevelop.com/read.php?fid=22&tid=119314&toread=1 注:本文档新版本已出,请在博客中查找,或下载PDF全文文档。   WDF<em>开发</em>USB设备<em>驱动</em>教程
Windows 7驱动开发系列(四)--WDM模型介绍
有关WINDOWS DRIVER <em>开发</em>中重要概念WDM模型介绍
菜鸟WDF驱动开发系列(3):安装与调试第一个UMDF驱动程序
写了篇2时,我绞尽脑汁想在虚拟机上实现UMDF的远程调试,但没办法,据我能找到的书来看,只有一个<em>方法</em>就是,在WinDBG--File--Attach to a process,哦嘀神啊,在本机怎么Attach目标机器的进程?于是我就崩溃到装了WDK8与VS2012 RC,本以为可以在VS2012里的<em>驱动</em>集成<em>开发</em>模块里找到<em>方法</em>,结果还是没能找到在本机Attach的虚拟机中的进程的办法,于是,我暂时放
WDF PCIe的驱动
<em>windows</em>7上使用<em>wdf</em><em>开发</em>的pcie<em>驱动</em>,能用于win7之后的32bit系统和64位系统,64位系统需关闭强制签名认证。有问题可以联系我。
WDF开发USB设备驱动教程(4)
PDF全文下载地址:http://download.csdn.net/source/2320280 7.2  构造并发送控制命令 向USB设备发送控制命令,需要初始化一个WDF_USB_CONTROL_SETUP_PACKET 结构体。WDF定义了一些宏专门用来对结构体进行初始化。这些宏定义分别对应于:为Class类型控制命令初始化、为用户自定义类型控制命令初始化、为标准命令类型控制命令初
VS2015对WDK10驱动程序进行双机调试
【1】设置Visual Studio 2015调试方式: 主计算机:WIN7 64位 虚拟机:WIN7 64位 调试器:VS2015 调试的软件:内核<em>驱动</em>程序 一、主计算机和虚拟机两台机器必须关闭防火墙,必须能够互相ping通(使用桥接模式). 二、 将WDK10携带的调试<em>驱动</em>包拷贝到虚拟机中安装: 1)WDK10安装时如果用的是默认路径:
支持对任意端口可以进行读写的驱动程序
<em>开发</em>一个支持对任意端口可以进行读写的<em>驱动</em>程序。
Windows驱动开发——虚拟串口设备
文章转自:http://blog.csdn.net/chenyujing1234/article/details/7896364 1、DDK串口<em>开发</em>框架 DDK对串口<em>驱动</em>提供了专门接口。只要编写的<em>驱动</em>满足这些接口,并按照串口标准的命名<em>方法</em>,不管是真实的串口设备,还是虚拟设备,Windows操作系统都会认为 这个设备是一个标准的串口设备。用标准的串口调试工具都可以与这个设备
windows驱动开发视频教程
内核<em>驱动</em><em>开发</em>教程。
Windows驱动开发VXD/WDM/WDF/DDK/WDK的联系和区别
背景介绍 首先,先从基础的东西说起,做任何程序的<em>开发</em>,你都需要一个配套的<em>开发</em>套件,专业术语叫做SDK(Software Development Kit,软件<em>开发</em>套件)。比如:<em>开发</em>JAVA程序,我们可能需要一个JDK。那么,<em>开发</em>WINDOWS应用程序,我们同样需要WINDOWS的SDK。而想要<em>开发</em>WINDOWS下的<em>驱动</em>程序,我们则需要一个DDK/WDK。 具体概念 OK,下面来具体谈谈VXD/WDM...
windows驱动开发-调试状态签名
WDK8之后,微软为<em>驱动</em><em>开发</em>提供了visual studio IDE<em>开发</em>环境,<em>驱动</em>签名也自动化了,但我暂时还没用过,下面使用WDK7600提供的工具对<em>驱动</em>进行签名,这个签名只能用于调试目的,Windows系统必须打开测试模式。
Windows驱动开发之日志打印
在WDF框架中,有一个“trace.h”头文件,在<em>驱动</em>的入口函数中,会用到 // // Initialize WDF WPP tracing. // WPP_INIT_TRACING( DriverObject, RegistryPath ); // // TraceEvents function is mapped to DoTraceMess
开发虚拟串口驱动程序
虚拟串口就是当本地并没有对应的串口硬件设备,而为应用层提供串口设备一样的系统调用接口,以兼容原本使用本地串口的应用软件的“虚”设备。本文作者给出了一种在Windows平台上实现虚拟串口的<em>方法</em>,由此实现的“串口”具有真实串口完全相同的系统调用接口。 在很多应用中需要用到虚拟串口,如在Modem卡出现之前,已经有了接在计算机串口上的外部Modem,而且各种拔号程序也是通过串口与外部Modem通信的
jquery/js实现一个网页同时调用多个倒计时(最新的)
jquery/js实现一个网页同时调用多个倒计时(最新的) 最近需要网页添加多个倒计时. 查阅网络,基本上都是千遍一律的不好用. 自己按需写了个.希望对大家有用. 有用请赞一个哦! //js //js2 var plugJs={     stamp:0,     tid:1,     stampnow:Date.parse(new Date())/1000,//统一开始时间戳     ...
Android emoji demo下载
androidemojidemo,支持iphone的emoji表情显示,支持Android端的表情选择,翻页选择,以及发送。 相关下载链接:[url=//download.csdn.net/download/hwl1314/6727525?utm_source=bbsseo]//download.csdn.net/download/hwl1314/6727525?utm_source=bbsseo[/url]
jmxtools jmxri-1.2.1.jar下载
maven编译时报找不到这两个jar文件,发现已经无法从网站下载了,所以自己在网上找到这两个文件下载,分真贵呀,所以现在便宜分享,2个文件只要一分 Could not resolve dependencies for project ****:jar:0.0.1-SNAPSHOT: The following artifacts could not be resolved: com.sun.jdmk:jmxtools:jar:1.2.1, com.sun.jmx:jmxri:jar:1.2.1: Could not transfer artifact com.sun.jdmk:jmxtools 相关下载链接:[url=//download.csdn.net/download/gs80140/7064847?utm_source=bbsseo]//download.csdn.net/download/gs80140/7064847?utm_source=bbsseo[/url]
vc编译器解释.pdf下载
详细介绍了vc编译器所有参数的意义,从编译原理的角度介绍 相关下载链接:[url=//download.csdn.net/download/ruansoft/2030425?utm_source=bbsseo]//download.csdn.net/download/ruansoft/2030425?utm_source=bbsseo[/url]
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 完整数据库课程设计 完整网页制作的视频
我们是很有底线的