在好例子网,分享、交流、成长!
您当前所在位置:首页C/C++ 开发实例Windows系统编程 → Microsoft Windows驱动程序模型设计.pdf

Microsoft Windows驱动程序模型设计.pdf

Windows系统编程

下载此实例
  • 开发语言:C/C++
  • 实例大小:4.58M
  • 下载次数:25
  • 浏览次数:98
  • 发布时间:2021-07-27
  • 实例类别:Windows系统编程
  • 发 布 人:yeheng2008
  • 文件格式:.pdf
  • 所需积分:2
 相关标签: windows window win ws 驱动

实例介绍

【实例简介】Microsoft Windows驱动程序模型设计.pdf

【实例截图】windows驱动

from clipboard

【核心代码】

目录
献给................................................................................................................................................................................................................3
前言................................................................................................................................................................................................................4
致谢................................................................................................................................................................................................................5
目录................................................................................................................................................................................................................6
第一章:导言 ..............................................................................................................................................................................................15
操作系统概述 ..............................................................................................................................................................................................16
Windows 2000 概述...........................................................................................................................................................................16
Windows 98 概述................................................................................................................................................................................17
Windows 2000 驱动程序...........................................................................................................................................................................19
内核模式驱动程序的属性 ..................................................................................................................................................................19
• 可移植性 ..............................................................................................................................................................................19
• 可配置性 ..............................................................................................................................................................................20
• 可抢先性和可中断性 ..........................................................................................................................................................20
• 多处理器安全 ......................................................................................................................................................................20
• 基于对象 ..............................................................................................................................................................................20
• 包驱动 ..................................................................................................................................................................................21
• 异步 ......................................................................................................................................................................................21
WDM驱动程序模型 ............................................................................................................................................................................21
例子代码 ......................................................................................................................................................................................................23
随书光盘 ..............................................................................................................................................................................................23
关于创建例子驱动程序 ......................................................................................................................................................................24
GENERIC.SYS...................................................................................................................................................................................24
本书的结构 ..................................................................................................................................................................................................25
关于书中的错误 ..................................................................................................................................................................................25
其它资源 ......................................................................................................................................................................................................26
驱动程序开发书籍 ..............................................................................................................................................................................26
其它参考书籍 ......................................................................................................................................................................................26
杂志 ......................................................................................................................................................................................................26
新闻组 ..................................................................................................................................................................................................26
讲座 ......................................................................................................................................................................................................26
注意事项 ......................................................................................................................................................................................................27
第二章:WDM驱动程序的基本结构 ........................................................................................................................................................28
设备和驱动程序的层次结构 ......................................................................................................................................................................29
系统怎样装入驱动程序 ......................................................................................................................................................................30
递归枚举 ......................................................................................................................................................................................30
注册表的角色 ..............................................................................................................................................................................31
驱动程序装入顺序 ......................................................................................................................................................................35
设备对象之间如何关联 ..............................................................................................................................................................36
检查设备堆 ..................................................................................................................................................................................38
驱动程序对象 ......................................................................................................................................................................................39
设备对象 ..............................................................................................................................................................................................41
DriverEntry例程 ..........................................................................................................................................................................................45
DriverEntry概述 ..................................................................................................................................................................................45
DriverUnload例程...............................................................................................................................................................................46
驱动程序再初始化例程 ......................................................................................................................................................................47
AddDevice例程...........................................................................................................................................................................................48
创建设备对象 ......................................................................................................................................................................................48
为设备命名 ..........................................................................................................................................................................................49
符号连接 ......................................................................................................................................................................................50
应该命名设备对象吗? ..............................................................................................................................................................52
设备名称 ......................................................................................................................................................................................53
设备接口 ......................................................................................................................................................................................53
其它全局性的设备初始化操作 ..........................................................................................................................................................57
初始化设备扩展 ..........................................................................................................................................................................57 
初始化默认的DPC对象..............................................................................................................................................................58
设置缓冲区对齐掩码 ..................................................................................................................................................................59
其它对象 ......................................................................................................................................................................................59
初始化设备标志 ..........................................................................................................................................................................59
设置初始电源状态 ......................................................................................................................................................................60
建立设备堆 ..................................................................................................................................................................................60
清除DO_DEVICE_INITIALIZING标志.....................................................................................................................................60
Windows 98 兼容问题................................................................................................................................................................................61
DriverEntry调用上的不同 ..................................................................................................................................................................61
注册表组织的不同 ..............................................................................................................................................................................61
\??目录.................................................................................................................................................................................................61
未实现的设备类型 ..............................................................................................................................................................................61
第三章:基本编程技术 ..............................................................................................................................................................................62
内核模式编程环境 ......................................................................................................................................................................................63
使用标准运行时间库函数 ..................................................................................................................................................................63
注意侧效 ..............................................................................................................................................................................................64
错误处理 ......................................................................................................................................................................................................65
状态代码 ..............................................................................................................................................................................................65
结构化异常处理 ..................................................................................................................................................................................66
Try-Finally块................................................................................................................................................................................68
Try-Except块...............................................................................................................................................................................69
异常过滤表达式 ..........................................................................................................................................................................70
生成异常 ......................................................................................................................................................................................72
一些真实环境中的例子 ..............................................................................................................................................................72
Bug Checks.........................................................................................................................................................................................74
内存管理 ......................................................................................................................................................................................................76
用户模式地址空间与内核模式地址空间...........................................................................................................................................76
一页有多大? ..............................................................................................................................................................................77
分页和非分页内存 ......................................................................................................................................................................77
编译时控制分页能力 ..................................................................................................................................................................78
运行时控制分页能力 ..................................................................................................................................................................79
堆分配符 ..............................................................................................................................................................................................81
释放内存块 ..................................................................................................................................................................................81
ExAllocatePoolWithTag .............................................................................................................................................................82
ExAllocatePool的其它形式........................................................................................................................................................82
链表 ......................................................................................................................................................................................................82
双链表 ..........................................................................................................................................................................................83
单链表 ..........................................................................................................................................................................................85
Lookaside(后援式)链表 .....................................................................................................................................................................86
字符串操作 ..................................................................................................................................................................................................89
分配和释放串缓冲区 ..................................................................................................................................................................90
Blob数据(大块数据)............................................................................................................................................................................90
其它编程技术 ..............................................................................................................................................................................................92
访问注册表 ..........................................................................................................................................................................................92
打开注册表键 ..............................................................................................................................................................................92
其它打开注册表键的方法 ..........................................................................................................................................................93
获取和设置注册表值 ..................................................................................................................................................................94
删除子键或键值 ..........................................................................................................................................................................95
枚举子键或键值 ..........................................................................................................................................................................95
访问文件 ..............................................................................................................................................................................................97
打开已存在文件然后读 ..............................................................................................................................................................97
创建或重写文件 ..........................................................................................................................................................................97
浮点运算 ..............................................................................................................................................................................................99
调试技巧 ..............................................................................................................................................................................................99
Windows 98 兼容问题..............................................................................................................................................................................101
第四章:同步 ............................................................................................................................................................................................102 
一个原始的同步问题 ................................................................................................................................................................................103
中断请求级 ................................................................................................................................................................................................105
IRQL的变化.......................................................................................................................................................................................106
基本同步规则 ....................................................................................................................................................................................106
IRQL与线程优先级...........................................................................................................................................................................106
IRQL和分页.......................................................................................................................................................................................107
IRQL的隐含控制...............................................................................................................................................................................107
IRQL的明确控制...............................................................................................................................................................................107
自旋锁........................................................................................................................................................................................................109
使用自旋锁 ........................................................................................................................................................................................109
内核同步对象 ............................................................................................................................................................................................ 111
何时阻塞和怎样阻塞一个线程 ........................................................................................................................................................ 111
在单同步对象上等待 ........................................................................................................................................................................ 112
在多同步对象上等待 ........................................................................................................................................................................ 113
内核事件 ............................................................................................................................................................................................ 113
内核信号灯 ........................................................................................................................................................................................ 115
内核互斥对象 .................................................................................................................................................................................... 116
内核定时器 ........................................................................................................................................................................................ 117
通知定时器用起来象事件 ........................................................................................................................................................ 118
通知定时器与DPC例程............................................................................................................................................................ 118
同步定时器 ................................................................................................................................................................................ 119
周期性定时器 ............................................................................................................................................................................ 119
取消一个周期性定时器 ............................................................................................................................................................120
一个例子 ....................................................................................................................................................................................120
定时函数 ....................................................................................................................................................................................121
内核线程同步 ....................................................................................................................................................................................121
线程警惕和APC................................................................................................................................................................................122
APC与I/O请求...........................................................................................................................................................................122
如何指定Alertable和WaitMode参数.......................................................................................................................................123
其它内核模式同步要素 ............................................................................................................................................................................125
快速互斥对象 ....................................................................................................................................................................................125
互锁运算 ............................................................................................................................................................................................126
InterlockedXxx函数..................................................................................................................................................................127
ExInterlockedXxx函数..............................................................................................................................................................128
链表的互锁访问 ................................................................................................................................................................................129
初始化 ........................................................................................................................................................................................129
插入元素 ....................................................................................................................................................................................129
删除元素 ....................................................................................................................................................................................130
IRQL的限制...............................................................................................................................................................................130
第五章:I/O请求包...................................................................................................................................................................................132
数据结构 ....................................................................................................................................................................................................133
IRP结构..............................................................................................................................................................................................133
I/O堆栈...............................................................................................................................................................................................134
IRP处理的“标准模型”...............................................................................................................................................................................137
创建IRP..............................................................................................................................................................................................137
发往派遣例程 ....................................................................................................................................................................................138
派遣例程的职责 ................................................................................................................................................................................138
StartIo例程.........................................................................................................................................................................................139
中断服务例程 ....................................................................................................................................................................................140
DPC例程............................................................................................................................................................................................140
定制队列 ............................................................................................................................................................................................141
完成I/O请求...............................................................................................................................................................................................144
完成机制 ............................................................................................................................................................................................144
使用完成例程 ....................................................................................................................................................................................145
完成例程如何获得调用 ............................................................................................................................................................146
完成例程为什么要调用IoMarkIrpPending.............................................................................................................................147 
向下级传递请求 ........................................................................................................................................................................................150
取消I/O请求...............................................................................................................................................................................................153
要是没有多任务就............................................................................................................................................................................153
同步化取消操作 ................................................................................................................................................................................153
情况 1:CPU A先获得自旋锁 .................................................................................................................................................157
情况 2:就在CPU A刚要获取自旋锁前CPU B获得了自旋锁 .............................................................................................157
情况 3:CPU B获得自旋锁两次.............................................................................................................................................158
清除相关的IRP..................................................................................................................................................................................158
管理自己的IRP..........................................................................................................................................................................................162
使用IoBuildSynchronousFsdRequest ...........................................................................................................................................162
清除 ............................................................................................................................................................................................163
取消同步IRP..............................................................................................................................................................................163
使用IoAllocateIrp ..............................................................................................................................................................................164
松散的结尾 ................................................................................................................................................................................................166
使用IoBuildDeviceIoControlRequest.............................................................................................................................................166
使用IoBuildAsynchronousFsdRequest .........................................................................................................................................166
设备对象指针从哪来? ....................................................................................................................................................................167
第六章:即插即用 ....................................................................................................................................................................................169
IRP_MJ_PNP派遣函数............................................................................................................................................................................171
启动和停止设备 ........................................................................................................................................................................................173
前进和等待IRP..................................................................................................................................................................................173
提取资源分配信息 ............................................................................................................................................................................175
IRP_MN_STOP_DEVICE...............................................................................................................................................................176
IRP_MN_REMOVE_DEVICE.........................................................................................................................................................177
IRP_MN_SURPRISE_REMOVAL .................................................................................................................................................178
管理PnP状态转换.....................................................................................................................................................................................180
使用DEVQUEUE来排队和取消IRP ...............................................................................................................................................181
用DEVQUEUE排队PnP请求 ..........................................................................................................................................................183
启动设备 ....................................................................................................................................................................................183
可以停止设备吗? ....................................................................................................................................................................184
当设备停止时 ............................................................................................................................................................................185
可以删除设备吗? ....................................................................................................................................................................185
同步删除 ....................................................................................................................................................................................186
DEVQUEUE如何工作......................................................................................................................................................................190
初始化DEVQUEUE..................................................................................................................................................................190
停止队列 ....................................................................................................................................................................................191
排队IRP......................................................................................................................................................................................191
出队IRP......................................................................................................................................................................................192
取消IRP......................................................................................................................................................................................193
等待当前的IRP..........................................................................................................................................................................195
放弃请求 ....................................................................................................................................................................................195
其它配置功能 ............................................................................................................................................................................................197
过滤资源需求 ....................................................................................................................................................................................197
设备用途通知 ....................................................................................................................................................................................198
DeviceUsageTypePaging........................................................................................................................................................199
DeviceUsageTypeDumpFile...................................................................................................................................................199
DeviceUsageTypeHibernation................................................................................................................................................200
控制器和多功能设备 ........................................................................................................................................................................200
整体结构 ....................................................................................................................................................................................200
创建子设备对象 ........................................................................................................................................................................200
设备向PnP管理器告知自己含有子设备.................................................................................................................................202
以PDO角色处理PnP请求 ........................................................................................................................................................203
处理设备删除 ............................................................................................................................................................................206
处理IRP_MN_QUERY_ID请求...............................................................................................................................................206
处理IRP_MN_QUERY_DEVICE_RELATIONS请求............................................................................................................207
处理子设备资源 ........................................................................................................................................................................207 
PnP通知.............................................................................................................................................................................................208
WM_DEVICECHANGE扩充...................................................................................................................................................208
何时关闭设备句柄 ....................................................................................................................................................................209
Windows 2000 的服务通知 .....................................................................................................................................................210
内核模式通知 ............................................................................................................................................................................210
定制通知 ....................................................................................................................................................................................213
Windows 98 兼容问题..............................................................................................................................................................................215
第七章:读写数据 ....................................................................................................................................................................................216
配置设备 ....................................................................................................................................................................................................217
寻址数据缓冲区 ........................................................................................................................................................................................219
指定缓冲方式 ....................................................................................................................................................................................219
Buffered方式 .............................................................................................................................................................................220
Direct方式..................................................................................................................................................................................220
Neither方式 ...............................................................................................................................................................................222
端口与寄存器 ............................................................................................................................................................................................223
端口资源 ............................................................................................................................................................................................224
内存资源 ............................................................................................................................................................................................225
响应中断 ....................................................................................................................................................................................................227
配置中断 ............................................................................................................................................................................................227
处理中断 ............................................................................................................................................................................................228
ISR中的编程限制......................................................................................................................................................................228
选择一个合适的上下文参数 ....................................................................................................................................................229
ISR的同步操作..........................................................................................................................................................................229
DPC....................................................................................................................................................................................................230
DPC调度....................................................................................................................................................................................232
定制DPC对象............................................................................................................................................................................232
一个中断驱动设备的例子 ................................................................................................................................................................233
初始化PCI42 .............................................................................................................................................................................233
启动一个读操作 ........................................................................................................................................................................234
处理中断 ....................................................................................................................................................................................236
测试PCI42 .................................................................................................................................................................................237
直接内存存取(DMA).................................................................................................................................................................................239
传输策略 ............................................................................................................................................................................................240
执行DMA传输 ...................................................................................................................................................................................241
使用分散/聚集表的传输 ...........................................................................................................................................................246
使用GetScatterGatherList.......................................................................................................................................................248
使用系统控制器的传输 ............................................................................................................................................................249
使用公用缓冲区 ................................................................................................................................................................................251
分配公用缓冲区 ........................................................................................................................................................................251
使用公用缓冲区的Slave模式DMA传输..................................................................................................................................252
使用公用缓冲区的总线主控模式DMA传输............................................................................................................................252
使用公用缓冲区的注意事项 ....................................................................................................................................................253
释放公用缓冲区 ........................................................................................................................................................................253
总线主控设备的一个例子 ................................................................................................................................................................253
在PKTDMA中处理中断............................................................................................................................................................254
测试PKTDMA............................................................................................................................................................................255
第八章:电源管理 ....................................................................................................................................................................................256
WDM电源管理模型 ..................................................................................................................................................................................257
WDM驱动程序的角色 ......................................................................................................................................................................257
设备电源状态与系统电源状态 ........................................................................................................................................................257
电源状态转换 ....................................................................................................................................................................................258
处理IRP_MJ_POWER请求.............................................................................................................................................................258
管理电源状态转换 ....................................................................................................................................................................................262
有限状态机概述 ................................................................................................................................................................................262
新IRP的初始化处理..........................................................................................................................................................................264
提升电源级别的系统电源IRP..........................................................................................................................................................266 
处理失败 ....................................................................................................................................................................................268
映射系统状态为设备状态 ........................................................................................................................................................269
请求设备电源IRP......................................................................................................................................................................272
完成系统IRP..............................................................................................................................................................................273
降低电源级别的系统电源IRP..........................................................................................................................................................273
设备电源IRP......................................................................................................................................................................................276
设置更高级的设备电源状态 ....................................................................................................................................................278
查询更高级的设备电源状态 ....................................................................................................................................................280
设置更低级的设备电源状态 ....................................................................................................................................................281
查询更低级的设备电源状态 ....................................................................................................................................................283
其它电源管理细节 ....................................................................................................................................................................................286
在AddDevice中设置的标志.............................................................................................................................................................286
设备的唤醒特征 ................................................................................................................................................................................286
何时发出WAIT_WAKE.............................................................................................................................................................288
空闲检测 ............................................................................................................................................................................................288
指出自己没有处于空闲状态 ....................................................................................................................................................289
空闲超时的选择 ........................................................................................................................................................................289
从空闲状态中唤醒 ....................................................................................................................................................................290
用序列号优化状态改变 ....................................................................................................................................................................291
Windows 98 兼容问题..............................................................................................................................................................................292
DO_POWER_PAGABLE的重要性.................................................................................................................................................292
请求设备电源IRP..............................................................................................................................................................................292
PoCallDriver......................................................................................................................................................................................292
其它不同之处 ....................................................................................................................................................................................292
第九章:专门问题 ....................................................................................................................................................................................294
过滤器驱动程序 ........................................................................................................................................................................................295
DriverEntry例程 ................................................................................................................................................................................296
AddDevice例程.................................................................................................................................................................................297
派遣例程 ....................................................................................................................................................................................298
登记错误 ....................................................................................................................................................................................................301
创建错误登记包 ................................................................................................................................................................................302
创建消息文件 ....................................................................................................................................................................................303
I/O控制操作...............................................................................................................................................................................................306
DeviceIoControl API.........................................................................................................................................................................306
DeviceIoControl的同步和异步调用方式........................................................................................................................................307
定义I/O控制代码...............................................................................................................................................................................308
处理IRP_MJ_DEVICE_CONTROL ...............................................................................................................................................309
BUFFERED模式.......................................................................................................................................................................310
DIRECT模式 .............................................................................................................................................................................312
NEITHER模式...........................................................................................................................................................................312
内部I/O控制操作.......................................................................................................................................................................313
应用程序关注事件的通知 ................................................................................................................................................................315
使用异步IOCTL.........................................................................................................................................................................316
辅助例程的工作原理 ................................................................................................................................................................317
系统线程 ....................................................................................................................................................................................................320
系统线程的创建与终止 ....................................................................................................................................................................320
用系统线程循检设备 ........................................................................................................................................................................321
工作项........................................................................................................................................................................................................325
IoXxxWorkItem .................................................................................................................................................................................326
看门狗定时器 ............................................................................................................................................................................................327
Windows 98 兼容问题..............................................................................................................................................................................330
错误登记 ............................................................................................................................................................................................330
IOCTL与Windows 98 虚拟设备驱动程序......................................................................................................................................330
挂起IOCTL操作时的注意事项.........................................................................................................................................................330
等待系统线程结束 ............................................................................................................................................................................330
第十章:Windows管理诊断....................................................................................................................................................................331 
WMI概念....................................................................................................................................................................................................332
一个规划例子 ....................................................................................................................................................................................332
WDM驱动程序与WMI ..............................................................................................................................................................................334
委托WMILIB处理IRP .......................................................................................................................................................................335
QueryRegInfo回调函数............................................................................................................................................................336
QueryDataBlock回调函数 .......................................................................................................................................................338
SetDataBlock回调函数 ............................................................................................................................................................339
SetDataItem回调函数 ..............................................................................................................................................................340
高级特征 ............................................................................................................................................................................................341
处理多实例 ................................................................................................................................................................................341
实例命名 ....................................................................................................................................................................................342
处理多类 ....................................................................................................................................................................................343
Expensive统计..........................................................................................................................................................................343
WMI事件....................................................................................................................................................................................344
WMI方法例程............................................................................................................................................................................345
标准数据块 ................................................................................................................................................................................346
标准控制 ....................................................................................................................................................................................347
用户模式程序与WMI ................................................................................................................................................................................348
COM是什么.......................................................................................................................................................................................348
接口是什么 ................................................................................................................................................................................348
对象的创建与销毁 ....................................................................................................................................................................349
访问WMI信息....................................................................................................................................................................................349
连接一个命名空间 ....................................................................................................................................................................350
枚举类实例 ................................................................................................................................................................................351
项目值的获取与设置 ................................................................................................................................................................352
接收事件通知 ............................................................................................................................................................................352
调用方法例程 ............................................................................................................................................................................353
Windows 98 兼容问题..............................................................................................................................................................................355
第十一章:USB总线................................................................................................................................................................................356
编程架构 ....................................................................................................................................................................................................357
设备层次 ............................................................................................................................................................................................357
高速和低速设备 ........................................................................................................................................................................357
电源 ............................................................................................................................................................................................357
设备中有什么? ................................................................................................................................................................................358
信息流动 ............................................................................................................................................................................................359
信息打包 ....................................................................................................................................................................................360
端点的状态 ................................................................................................................................................................................361
控制传输 ....................................................................................................................................................................................361
批量传输 ....................................................................................................................................................................................364
中断传输 ....................................................................................................................................................................................365
等时传输 ....................................................................................................................................................................................365
描述符 ................................................................................................................................................................................................365
设备描述符 ................................................................................................................................................................................366
配置描述符 ................................................................................................................................................................................367
接口描述符 ................................................................................................................................................................................368
端点描述符 ................................................................................................................................................................................368
串描述符 ....................................................................................................................................................................................369
其它描述符 ................................................................................................................................................................................370
使用总线驱动程序 ....................................................................................................................................................................................370
初始化请求 ........................................................................................................................................................................................370
发送URB....................................................................................................................................................................................371
URB返回的状态........................................................................................................................................................................372
配置 ....................................................................................................................................................................................................373
读取配置描述符 ........................................................................................................................................................................373
选择配置 ....................................................................................................................................................................................375
寻找句柄 ....................................................................................................................................................................................379 
关闭设备 ....................................................................................................................................................................................379
管理批量传输管道 ............................................................................................................................................................................379
错误恢复 ....................................................................................................................................................................................383
管理中断管道 ....................................................................................................................................................................................384
控制请求 ............................................................................................................................................................................................385
控制特征 ....................................................................................................................................................................................385
测定状态 ....................................................................................................................................................................................386
管理等时管道 ....................................................................................................................................................................................387
保留带宽 ....................................................................................................................................................................................387
初始化离散的等时传输 ............................................................................................................................................................390
获得可接受的性能 ....................................................................................................................................................................391
主IRP的取消处理......................................................................................................................................................................393
流等时传输 ................................................................................................................................................................................397
同步等时传输 ............................................................................................................................................................................397
第十二章:安装驱动程序 ........................................................................................................................................................................399
INF文件......................................................................................................................................................................................................400
Install段..............................................................................................................................................................................................402
定义Driver Service ...................................................................................................................................................................405
设备标识符 ........................................................................................................................................................................................405
PCI设备......................................................................................................................................................................................405
PCMCIA设备.............................................................................................................................................................................406
SCSI设备...................................................................................................................................................................................407
IDE设备......................................................................................................................................................................................408
ISAPNP设备..............................................................................................................................................................................408
USB设备....................................................................................................................................................................................409
1394 设备 ..................................................................................................................................................................................409
通用设备标识符 ........................................................................................................................................................................409
硬件键 ................................................................................................................................................................................................410
标准属性 ....................................................................................................................................................................................410
非标准属性 ................................................................................................................................................................................ 411
INF文件工具......................................................................................................................................................................................412
定义设备类 ................................................................................................................................................................................................412
属性页程序 ........................................................................................................................................................................................413
其它相关信息 ....................................................................................................................................................................................416
运行应用程序 ............................................................................................................................................................................................416
AutoLaunch服务...............................................................................................................................................................................416
触发AutoLaunch...............................................................................................................................................................................417
鸡和蛋的问题 ....................................................................................................................................................................................419
运行服务 ............................................................................................................................................................................................420
Windows 98 兼容问题..............................................................................................................................................................................421
属性页提供程序 ................................................................................................................................................................................421
注册表用法 ........................................................................................................................................................................................421
获得设备属性 ....................................................................................................................................................................................422
应用程序执行 ....................................................................................................................................................................................422
附录A:Windows 98 不兼容处理...........................................................................................................................................................423
为内核模式例程定义桩 ............................................................................................................................................................................424
版本兼容 ............................................................................................................................................................................................425
桩函数 ................................................................................................................................................................................................425
确定操作系统版本 ....................................................................................................................................................................................428
附录B:使用GENERIC.SYS ..................................................................................................................................................................429
附录C:使用WDMWIZ.AWX..................................................................................................................................................................430
基本驱动程序信息 ....................................................................................................................................................................................431
DeviceIoControl代码................................................................................................................................................................................433
I/O资源.......................................................................................................................................................................................................434
电源管理能力 ............................................................................................................................................................................................435
USB端点....................................................................................................................................................................................................436 
WMI支持....................................................................................................................................................................................................438
INF文件参数..............................................................................................................................................................................................440
注意事项 ....................................................................................................................................................................................................441
关于作者 ....................................................................................................................................................................................................441
Walter Oney ........................................................................................................................................................................................441
译者............................................................................................................................................................................................................441
关于电子版 ................................................................................................................................................................................................441
你的信息源 ................................................................................................................................................................................442
关于本PDF电子档.....................................................................................................................................................................................442 

标签: windows window win ws 驱动

实例下载地址

Microsoft Windows驱动程序模型设计.pdf

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警