| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
目
录
译者序
原书序
第1章
入门
什么是驱动程序
基于优先权的区分
驱动程序接口
需要编写哪种驱动程序
哪一类设备
哪种硬件接口
什么是性能需求
总结
第一部分Windows执行环境和VxD
第2章
Windows的虚拟世界
什么是虚拟机
多任务模式
基于页面请求的虚拟内存
处理器的模式
保护模式
V86模式
Windows执行环境
总结
第3章
Windows实现虚拟环境的方法
捕获I/O端口的访问
捕获内存映射设备
捕获中断和异常
处理器寄存器
进一步分析线性地址和页面映射
Win32.
Winl6和DOS应用程序的地址
Win32地址
Win16地址
DOS地址
Windows
x如何满足Winl6和DoS应用程序的地址需要
Windows9x如何满足Win32.
Win16和DOS应用程序的地址需要
总结
第4章
初识VxD
VxD的加载
VxD的基本结构
设备描述块
相关数据结构
事件通知
静态加载的VxD的初始化和终止消息
动态加载的VxD初始化和结束时的消息
VM的状态变化消息
线程消息
Windows
x的不同之处
总结
第5章
最基本的VxD构架
开发VxD所需的工具
“DDK”版本的源程序
DDB和设备控制人口函数:SKELCTRL.
ASM
VtoolsD版本的SKELETON.VXD
Windows
x版本的SKELETON
总结
第6章
VxD与硬件交互
I/O映射与内存映射
与I/O映射的设备交互
与内存映射的设备交互
静态配置的内存映射设备
动态配置的内存映射设备
另一种数据传输的方式:DMA
使用系统DMA
系统DMA缓冲区的条件
分配系统DMA缓冲区的函数
VDMAD服务一览
VDMAD服务的细节
使用总线DMA
使用VDMAD—Scatter_Lock的正确方法
在总线DMA传输中使用事件
Windows
x的不同之处
总结
第7章
在VxD中处理硬件中断
中断和VMM
使用VPICD服务
详解WICD服务函数:VXDIRQ.
C
汇编转换层和C处理函数
HwIntProc回调函数:DDBISR.
ASM和VXDISR.
C
VXDISR的事件处理
Windows
x的不同之处
总结
第8章
虚拟世界中的VxD
VMM和处理器异常
设备所有权
虚拟I/O映射设备:PORTTRAP的例子
初始化函数:OnDeviceInit
处理不同的I/O端口类型:PortTrapThunk
检查所有权:PortTrapHandler
处理VM_TERMINATE
使用PORTTRAP
虚拟内存映射设备:PAGIETRAP的例子
初始化过程
异常处理函数
处理VM_Terminate消息
使用PAGETRAP
虚拟硬件中断
哪个VM
负责硬件中断反射的VxD
回调函数:MaskChangeHandler
回调函数:HwInHandler
回调函数:Eomandler
回调函数:VirtIntHandler和IRETHandler
总结
第9章
即插即用:概况
PnP组件
在Windows9x安装过程中的PnP组件
设备安装过程中的PnP组件
启动时的PnP组件
总结
第10章
即插即用的设备驱动程序VxD
PnPVxD的安装
关于INF文件
PnP的启动过程
其他的PnP配置情况
关闭系统
新的配置
删除设备
一个PnP驱动程序VxD的例子:TRICORD.VxD
RICORD.INF的细节
代码详解
总结
第11章
从应用程序到VxD通信
Winl6应用程序到VxD:VxD方面
从Win16应用程序到VxD:应用程序方面
Win16应用程序到VxD:实例代码
从Win32应用程序到VxD:VxD方面
从Win32应用程序到VxD:应用程序方面
Win32到VxD:实例代码
总结
第12章
从VxD到应用程序的通信
从VxD到Winl6应用程序调用的困难
在Windows
x下的VxD
PostMessage
使用嵌套执行服务
在Windows9x下的VxD
PostPostMessage
在Windows9x下从VxD到Winl6应用程序:Appy
Time
与Win32相关的技巧:异步过程调用
APCVxD例子
与Win32相关的技巧:Win32事件
VxD和Win32事件
总结
第二部分DLL驱动程序
第13章
关于16位的DLL驱动程序
为什么DLL驱动程序都是16位的
32位应用程序与16位DLL交互需要转换层
静态和动态库
为什么要把驱动程序做成DLL的形式
应用程序与DLL
DLL和堆栈段
DLL和数据段
DLL与动态分配的内存之间的关系
DLL初始化和结束
DLL函数的要求
基本的DLL驱动程序
创建基本的DLL驱动程序
DLL也需要借助于应用程序
DLL驱动程序的调试工具
总结
第14章
DLL驱动程序:与硬件设备交互
DLL和端口访问
端口映射的例子
驱动程序设计中的常规
DLL驱动程序
访问内存映射的硬件设备
内存映射DLL驱动程序的版本
关于内存访问的一些高级话题
总结
第15章
DLL驱动程序:中断处理
Windows内存管理策略
驱动程序的内存要求
可在中断处理时访问的静态代码和数据:简单的方法
Windows
x下的正确方法
动态分配中断期间安全访问的缓冲区:简单的方法
动态分配中断期间安全访问的缓冲区:正确的方法
安装中断处理函数
全新的驱动程序:概述