windows驱动程序】的更多相关文章

MSDN原文:https://msdn.microsoft.com/zh-cn/library/windows/hardware/ff554695(v=vs.85).aspx Windows 驱动程序工具包 (WDK) 包含构建内核模式和用户模式驱动程序所需的所有头文件(.h 文件).头文件在 WDK 安装文件夹中的 Include 文件夹中.示例:C:\Program Files (x86)\Windows Kits\10\Include. 头文件包含版本信息,因此不论驱动程序在哪个版本的 W…
用户模式和内核模式 虚拟地址空间 设备节点和设备堆栈 I/O 请求数据包 驱动程序堆栈 微型驱动程序和驱动程序对 Windows 驱动程序工具包中的头文件 为不同版本的 Windows 编写驱动程序…
原文出处:http://www.cnblogs.com/jacklu/p/4687325.html 本篇文章将对PCIe驱动程序的源文件代码作详细解释与说明.整个WDF驱动程序工程共包含4个头文件(已经在上篇文章中讲解)和3个.c文件(Driver.c  Device.c   Queue.c) Driver.c 在看复杂的代码前,先给出程序流程图 #include "driver.h" #include "driver.tmh" #ifdef ALLOC_PRAGM…
原文出处:http://www.cnblogs.com/jacklu/p/4619110.html 本科毕业设计是这方面的工作,所以想开几篇博客来介绍使用WDF开发PCI/PCIe接口卡的驱动程序方法. 这个系列的博客将首先用一个篇幅为不懂Windows 下PCI/PCIe驱动开发的介绍WDF和开发环境搭建,接下来几篇将直接讲述程序编写, 看完这几篇后,希望能够帮助读者了解如何通过500行左右的代码实现一个标准的PCIe接口卡驱动程序. 毕设题目的PCIe板卡是BAR0下映射两个5K的内存,偏移…
汉澳sinox不仅能通过wine执行windows应用程序.还能通过ndis执行windows驱动程序 汉澳sinox使用 Windows NDIS 驱动程序 详细实现方法是用ndisgen把windows驱动程序sys驱动程序转换成内核模块ko文件.然后让系统加载ko模块就能用了.ndis驱动负责模拟转换工作. 得益于 Bill Paul (wpaul) 的工作. Sinox已经能够 "直接地" 支持 网络驱动接口标准 (NDIS, Network Driver Interface…
Windows驱动程序开发基础,转载标明出处:http://blog.csdn.net/ikerpeng/article/details/38793995 以下说一下开发出来驱动程序以后怎样编译.一般有以下几种方式: 1. 建立Makefile文件,用nmake工具进行编译和链接. 2. 建立Makefile,sources, dirs文件.用build工具编译. 3. 用集成开发环境进行编译链接. 我採用的是第三种方式,通过VS2010+wdk配置Windows驱动程序开发环境.地址:   h…
原文地址:http://www.cnblogs.com/jacklu/p/6139347.html 正如前几篇博客所说,使用WDF开发PCIe驱动程序是我本科毕业设计的主要工作.在读研的两年,我也分别为所在课题组移植了自己编写的驱动程序,在Windows 32位和64位平台下的PXI.PXIe.PCI.PCIe板卡分别得到了验证. 这篇文章根据自己最新编写的驱动代码(源代码请找博主索取),主要讲述如何为自己的硬件板卡移植驱动程序,并简单讲述如何使用Altera系列FPGA配置PCI IP核,然后…
原文出处:http://www.cnblogs.com/jacklu/p/4679304.html 在WDF的PCIe驱动程序中,共有四个.h文件(Public.h  Driver.h  Device.h  Trace.h).本文将分别对四个文件源代码进行详细的解释. Public.h #ifndef _USER_H #define _USER_H // // Define an Interface Guid so that app can find the device and talk to…
原文出处:http://www.cnblogs.com/jacklu/p/4646601.html 本科毕业设计是这方面的工作,所以想开几篇博客来介绍使用WDF开发PCI/PCIe接口卡的驱动程序方法. 在上一篇简要介绍了WDF和开发环境搭建后,本篇将讲述几个WDF中的概念,对开发者了解WDF非常有帮助,属于“内功部分”: 本篇文章结构将没那么清晰,当句句都是作者通过看书.看论文.看MSDN提炼出来的,希望对读者能够有所帮助. 1.WinDBG是唯一的内核驱动调试利器,但是开发PCIe的WDF驱…
有3种常用方式:METHOD_BUFFERED  METHOD_IN_DIRECT  METHOD_OUT_DIRECT   还有METHOD_NEITHER,<windows设备驱动WDF开发>描述为:源自win 9x的VxD的模式,不建议读者掌握.这个就不管了.   METHOD_BUFFERED:无论读和写都对应同一缓冲区   METHOD_IN_DIRECT\ METHOD_OUT_DIRECT:输入缓冲区可作为附加输出缓冲区,输出缓冲区可作为附加输入缓冲区,两者区别只在DMA读写要分…
继WDM后微软出了WDF,封装了WDM中的一些基本代码逻辑.本人菜鸟,也不知道本质上有何区别,只觉得是多了Wdf开头的函数,基本的编程框架上有点出入. KMDF是WDF的内核级部分,为了理清KMDF的结构,又觉得内核编程很复杂,HelloWorld类型的程序实在说明不了什么  修改一下<windows设备驱动WDF开发>的CharSample,查了WDK帮助文档加上注释以帮助自己理解KMDF的大致运作过程. CharSample原本是应用层输入数字字符,驱动读取输入缓冲区返还相应的中文,自己修…
#pragma  code_seg(“PAGE”) 作用是将此部分代码放入分页内存中运行. #pragma  code_seg() 将代码段设置为默认的代码段 #pragma  code_seg("INIT") 加载到INIT内存区域中,成功加载后,可以退出内存 转自:http://blog.csdn.net/whatday/article/details/7100855 Windows规定有些虚拟内存可以交换到文件中,这类内存被称为分页内存 有些虚拟内存永远不会交换到文件中,这些内存…
官网文档 https://docs.microsoft.com/zh-cn/windows-hardware/drivers/…
Windows驱动程序分为两类:一类是不支持即插即用功能的NT式驱动程序:另一类是支持即插即用功能的WDM驱动程序. NT式驱动的基本结构: 1)驱动加载过程与驱动入口函数DriverEntry: 驱动程序入口点函数通常命名为DriverEntry,也可以指定另外的名字,但最好遵循这个名字: DRIVER_INITIALIZE DriverEntry; NTSTATUS DriverEntry( __in  struct _DRIVER_OBJECT *DriverObject, //指向驱动对…
在Windows 2000 与Windows XP 系统采用是WINDDK来开发WINDOWS驱动程序,我手头也有WINDDK,可是从Windows Vista开始之后,一般采用Microsoft Windows Driver简称(WDK).这段时间刚好项目有用到USB HID,需要用到HID.lib库文件,因此下载了这个WDK7.1.0版本,采用HID.LIB,以及采用USB HID的目的,就是省去了PC端的驱动程序的编写,直接采用Windows内置的驱动程序,只需要了解USB HID通信数据…
catalog . 引言 . Windows 2000网络结构和OSI模型 . NDIS驱动 . NDIS微端口驱动编程实例 . NDIS中间层驱动编程实例 . NDIS协议层驱动编程实例 . TDI驱动 . TDI的过滤框架 . WFP(Windows Filtering Platform windows过滤平台) 0. 引言 最早出现的网络驱动应该是网卡驱动,这是Windows的下进行网络安全攻防常见的需求,为了进一步分割应用程序的网络数据传输与下层协议直到下层硬件的关系,又出现了协议驱动,…
一.内存管理概念 1. 物理内存概念(Physical Memory Address)     PC上有三条总线,分别是数据总线.地址总线和控制总线.32位CPU的寻址能力为4GB(2的32次方)个字节.用户最多可以使用4GB的真实物理内存.PC中很多设备都提供了自己的设备内存.这部分内存会映射到PC的物理内存上,也就是读写这段物理地址,其实读写的是设备内存地址,而不是物理内存地址. 2. 虚拟内存概念     虽然可以寻址4GB的内存,但是PC中往往没有如此多的真实物理内存.操作系统和硬件(主…
调用约定: 调用约定指的是函数被调用时,会按照不同规则,翻译成不同的汇编代码.当一个函数被调用时,首先会将返回地址压入堆栈,紧接着会将函数的参数依次压入堆栈.不同的调用约定,会指明不同的参数入栈顺序,还会指明不同的清理堆栈的方法.用C语言或者C++语言编译器编译程序时,会有四种不同的调用约定去编译函数: C语言的调用约定,函数由__cdecl修饰: 标准调用约定,函数由__stdcall修饰: 快速调用约定,函数由__fastcall修饰: C++类成员函数的调用约定,函数由thiscall修饰…
内存管理概念: 1)物理内存 PC上有三条总线:数据总线.地址总线和控制总线.32位CPU的寻址能力是4GB个字节,用户最多可以使用4GB的真实物理内存.PC中很多设备都提供了自己的设备内存,例如显卡就提供了自己的显存.这部分内存会映射到PC的物理内存上,也就是读写这段物理地址,其实会读写的设备内存地址,而不会读写物理内存地址. 2)虚拟内存地址 Windows所有程序(包括Ring0层和Ring3层的程序)可以操作的都是虚拟内存.之所以称为虚拟内存,是因为对它的所有操作最终都会变成一系列对真实…
Windows环境下32位汇编语言程序设计(典藏版)(含CD光盘1张)(年,经典再现!) 罗云彬 著 ISBN 978-7-121-20759-4 2013年7月出版 定价:99.00元 756页 16开 编辑推荐 畅销10年,经典再现! 本书第1版出版至今已经10年多了,第3版出版至今也已经3年多了,期间笔者收到了大量的读者来信,对本书提出了各种意见和建议,综合各方面的考虑,典藏版做了以下改进. ●     对第3版中已知的错误进行了修正,包括一些排版错误.错别字和例子中的Bug. ●    …
原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千,很多陌生的出版社,很多陌生的作者,很多陌生的译者,书名也是越来越夸张,什么××天精通××,精通××编程, ××宝典等等,书的印刷质量真的很好,纸张的质量也是今非昔比啊,但书的内容好象却是越来越让人失望,也许是我老了,我的思想我的观念已脱离现实社会,也许是外面的世界变化得太快,我编程数月,出去一走,…
版权声明     本书是免费电子书. 作者保留一切权利.但在保证本书完整性(包括版权声明.前言.正文内容.后记.以及作者的信息),并不增删.改变其中任何文字内容的前提下,欢迎任何读者 以任何形式(包括各种格式的文档)复制和转载本书.同时不限制利用此书赢利的行为(如收费注册下载,或者出售光盘或打印版本).不满足此前提的任何转载. 复制.赢利行为则是侵犯版权的行为.     发现本书的错漏之处,请联系作者.请不要修改本文中任何内容,不经过作者的同意发布修改后的版本.   作者信息     作者网名楚…
春天来了,小草发芽了,花儿开了,你还在等什么? 人家都自驾游了,ruiy可还是徒步游的,并且还留着汗+油; 什么是生活,我的理解就是跟着gd生,跟着gd活,可是讲到这我又自恋了,人家开二会也没想起我来,没想起我还在wj呢!干吧,不扯了,家乡的中分强又不认识我,不是小朋友谈的那个光头强哦; 言归正传,不好意思开小差了,还没入正题,耽误大家时间了(自恋了),我这人就这毛病,你爱理理,不理拉倒,疯癫自在逍遥游! 扯归扯,只是个前奏,爱学习,爱生活的passing>>>>let's Go.…
摘要 WinDriver是Jungo公司出版的一个设备驱动程序开发组件,它可以大大加速PCI设备驱动程序的开发.作者在实际的项目中采用了WinDriver来开发设备驱动程序,取得了相当好的运行效果.从目前国内的资料上来看,大多数设计人员还是在用DDK.Wtools开发设备驱动程序,因而作者觉得有必要向大家介绍与推荐这个软件. WinDriver是一套设备驱动程序开发组件,它的目的就是方便Windows程序员快速开发出PCI/ISA设备的Windows驱动程序(目前最新的版本V4.32还支持PCM…
每天我们都在使用Windows系统学习.编程.听音乐.玩游戏,Windows的操作想来是非常熟练了,但是你又对Windows究竟了解多少呢?本系列的目的,就是让你对Windows系统有个更直观.更清楚.更彻底的认识.尽管我们大多数人看不到Windows的源代码,对其内存调度算法这样的最深层次的技术内幕不能明窥,但是我们能够做到比方今知道的很多其它,了解这些之后你会发如今Windows上面开发会轻车熟路,不论什么木马病毒到了你机器上只是仅仅会成为你的试验品. 鉴于Windows 9X内核早已淘汰,…
汉澳sinox採用的zfs和jail打造高可靠性存储server和矩阵计算机,这不是windows和linux能相提并论的. 只是非常多人立即出来出来反驳说,windows驱动程序多(就是支持硬件多),软件多,游戏多! 可是sinox安全多,稳定多,可靠多.sinox是高性能计算机的最佳选择,打造高级工作站和可靠server的首选. windows也有病毒多,漏洞多,木马多,危急多.这些对用户追求安全操作系统是难以接受的.但是人们又不得不选择,由于他们没有别的选择. 最重要的是他们不愿意承认,也…
目前 Windows PE(Preinstallation Environment)和 Windows XP Embedded 是可以脱离主机里的硬盘独立运行的 Windows 操作系统,Windows PE 多用于光盘启动,Windows Embedded 从 Feature Pack 2007 之后已经支持从 USB 设备(移动硬盘.Flash U 盘)运行. 从基础开始,菜鸟也可以开发出一个在 USB 移动硬盘上运行的操作系统. 一.Windows Embedded 开发资源简介 Wind…
   1.  前言 因工作上项目的需要,笔者需要做驱动相关的开发,之前并没有接触过相关的知识,折腾一段时间下来,功能如需实现了,也积累了一些经验和看法,所以在此做番总结. 对于驱动开发的开发指引,微软官方文档网站已经提供了很详细的教程文档,并且在Github上提供了一系列典型的例程源码用于开发人员参考.开发人员在具备一定的驱动概念知识后,通过参考官方例程可以很容易实现拥有特定功能的驱动应用程序. Windows驱动程序入门: https://docs.microsoft.com/zh-cn/wi…
1. 使用ultraiso制作u盘启动盘 在电脑上安装ultraiso: 启动ultraiso,文件->打开->选中iso镜像文件 菜单栏->启动->写入硬盘映像 a. 便捷启动->写入新的驱动器引导扇区->win10/win8/win7/vista b. 刻录校验打钩 c. 写入方式选择USB-HDD+ d. 写入 详细如图所示: 2. 开始安装windows操作系统 将制作好的u盘启动盘插入usb口,启动电脑,在出现电脑品牌窗口是连续按下F2(有些电脑是F8,F12…