- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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 端口的知识,并且能够自
您可能关注的文档
最近下载
- 2023压力容器设计审核人员考试题库-1.docx
- 合并肥厚性心肌病的麻醉.pptx VIP
- 小区幼儿园经营管理投标文件.docx
- TSGD7006—2023年压力管道监督检验规则.docx
- 2023年新青岛版(六三制)二年级上册科学全册课件.pptx
- 全国说课比赛一等奖课件.ppt
- 第一单元+史前时期:原始社会与中华文明的起源(单元复习课件)-【大单元教学】2024-2025学年七年级历史上册同步备课系列(统编版2024).pptx VIP
- (完整版)小升初字音、字形、词语练习.pdf VIP
- 【2024秋】人教版三年级语文上册教学工作计划(及进度表).docx
- 护理专业调研报告(高职).docx VIP
文档评论(0)