Windows驱动开发系列之一:小白入门经典.docx

Windows驱动开发系列之一:小白入门经典.docx

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 第 PAGE 1 页 共 58 页 Windows 内核/驱动编程系列之一: 驱动开发技术详解 Windows 驱动开发小白入门 欢迎进入 Windows 的驱动编程世界 驱动程序可以是针对某一特定硬件的,为系统提供管理硬件的各种功能;也可以是针对 系统设备的,对系统的输入输出做一些处理,实现特定的功能,比如当软件要做的事用应用 程序无法实现或者难以实现某种功能时,但驱动程序可以实现,则需要驱动程序。 驱动都是要加载入内核的,我们要做的很多事情 \h 也需要在内核下完成,要想在内核中实现功能就需要编写驱动模块。提到驱动可能会想到硬件,大家 \h 可能会简单地认为驱动程序是控制硬件设备的。在 Windows 下驱动并不单单是用来控制硬件设 \h 备的。Windows 中的驱动程序可以创建虚拟设 备,也可以与设备无关。Windows 是一个开放式的 \h 操作系统,这个开放式并不是指其开放源代码, 而是指通过其提供的接口可以很容易和方便地对其内 \h 核进行扩展。 图书推荐: 环境配置: Vs2015, sdk10 Wd10 Vmware Win10x64 驱动安装与调试工具 驱动类型: NT 式驱动 WDM WDF 通篇概览: 驱动程序入门 Windows 内核架构与驱动开发的基本概念 VS2015+WDK10+Vmware(win10x64)双机调试驱动程序 驱动程序的基本结构 Windows 内核层的内存管理 Windows 内核层的常用内核函数 IRP 派遣函数 驱动程序的同步处理 IRP 的同步 内核层的定时器 驱动程序调用驱动程序 分层驱动程序 第一个 NT 式驱动程序 #include ntifs.h VOID UnloadDriver(PDRIVER_OBJECT pDriverObject) { KdPrint((Unload Driver success.)); } /// 相当于 main 函数 NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pRegistryPath) { KdPrint((DriverPath:%wZ, pRegistryPath) \h ); KdPrint((Hello,myDriver)); pDriverObject-DriverUnload = UnloadDrive \h r;//卸载例程 routine return STATUS_SUCCESS; } 在虚拟机 win10x64 中安装 NT 驱动程序 禁用驱动程序强制签名 第一步:点击右下角的“通知”,选择“所有设置” 第二步:“更新和安全” 第三步:“恢复” 第四步:“重新启动” 第五步:“疑难解答” 第六步:“高级选项” 第七步:“重启” 第八步:“7”:禁用驱动程序强制签名 驱动安装工具 SRVINSTW.EXE 配置 DbgView.exe Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter] DEFAULT=dword:0000000f DbgView.exe 默认无法捕获驱动层的输出信息需要修改注册表。 第一个 WDM 式驱动程序 新建工程 即插即用 PnP PnP 全称 Plug-and-Play,译文为即插即用。 PnP 的作用是自动配置低层计算机中的板卡和其他设备,然后告诉对应设备都做了什么。PnP 的任务是把物理设备和软件设备驱动程序相配合,并操作设备,在每个设备和它的驱动程序之间建立通信信道。 然后,PnP 分配下列资源给设备和硬件:I/O 地址、IRQ、DMA 通道和内存段。 PNP 是由 Microsoft 提出的,意思是系统自动侦测周边设备和板卡并自动安装设备驱动 程序,做到插上就能用,无须人工干预,是 Windows 自带的一项技术。所谓即插即用是指将符合 PNP 标准的 PC 插卡等外围设备安装到电脑时,操作系统自动设定系统结构的技术。当用户安装新的硬件时,不必再设置任何跳线器开关,也不必用软件配置中断请求(IRQ)、内存地址或直接存储器存取(DMA)通道,Windows 会向应用程序通知硬件设备的新变化,并会自动协调 IRQ、内存地址和 DMA 通道之间的冲突。 在 PnP 技术出现之前,中断和 I/O 端口的分配是由人手工进行的,例如想要这块声卡占用中断 5,就需要找一个小跳线在卡上标着中断 5 的针脚上一插。这样的操作需要用户了解中断和 I/O 端口的知识,并且能够自

文档评论(0)

暗伤 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档