★一颗咖啡豆穿越时空的故事 ★香味、醇厚度、酸度和风味,四种要素结合起来才能做出一杯完美的咖啡 ★咖啡的味觉体验如诗般美妙,但是咖啡的历史却充满了动荡与革命 ★咖啡是蓝领工间的提神剂,是主妇闲聊家长里短的好伴侣,而在西方世界的咖啡馆中,知识分子与革命家的觥筹交错间,咖啡又成了人类文明的催化剂 ★高歌猛的镀金时代,炮火纷飞的西线战场,从烈风炙烤的北非沙漠,到恬静的加勒比农园,从热火朝天的大西洋铁路,走向眼花缭乱的华尔街交易厅。咖啡产业的发展见证了人类从农业社会走向工业时代
售 价:¥
纸质售价:¥43.50购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
版权页
目录
译者序
第1章 Windows内部概览
1.1 进程
1.2 虚拟内存
1.2.1 页状态
1.2.2 系统内存
1.3 线程
1.4 系统服务
1.5 系统总体架构
1.6 句柄和对象
1.6.1 对象名称
1.6.2 访问已经存在的对象
第2章 开始内核开发
2.1 安装工具
2.2 创建一个驱动程序项目
2.3 DriverEntry和Unload例程
2.4 部署驱动程序
2.5 简单的跟踪
2.6 练习
2.7 总结
第3章 内核编程基础
3.1 内核编程的一般准则
3.1.1 未处理的异常
3.1.2 终止
3.1.3 函数返回值
3.1.4 IRQL
3.1.5 C++用法
3.1.6 测试和调试
3.2 调试构建与发布构建
3.3 内核API
3.4 函数和错误代码
3.5 字符串
3.6 动态内存分配
3.7 链表
3.8 驱动程序对象
3.9 设备对象
3.10 总结
第4章 驱动程序:从头到尾
4.1 简介
4.2 驱动程序初始化
4.2.1 将信息传递给驱动程序
4.2.2 客户程序/驱动程序之间的通信协议
4.2.3 创建设备对象
4.3 客户程序代码
4.4 Create和Close分发例程
4.5 DeviceIoControl分发例程
4.6 安装与测试
4.7 总结
第5章 调试
5.1 Debugging Tools for Windows
5.2 WinDbg简介
5.3 内核调试
5.3.1 本地内核调试
5.3.2 本地内核调试教程
5.4 完整内核调试
5.4.1 配置目标机
5.4.2 配置宿主机
5.5 内核驱动程序调试教程
5.6 总结
第6章 内核机制
6.1 中断请求级别
6.1.1 提升和降低IRQL
6.1.2 线程优先级与IRQL
6.2 延迟过程调用
6.3 异步过程调用
6.4 结构化异常处理
6.4.1 使用__try/__except
6.4.2 使用__try/__finally
6.4.3 使用C++ RAII代替__try/__finally
6.5 系统崩溃
6.5.1 崩溃转储信息
6.5.2 分析转储文件
6.5.3 系统挂起
6.6 线程同步
6.6.1 互锁操作
6.6.2 分发器对象
6.6.3 互斥量
6.6.4 快速互斥量
6.6.5 信号量
6.6.6 事件
6.6.7 执行体资源
6.7 高IRQL同步
6.8 工作项目
6.9 总结
第7章 I/O请求包
7.1 IRP简介
7.2 设备节点
7.3 IRP和I/O栈位置
7.4 分发例程
7.5 访问用户缓冲区
7.5.1 缓冲I/O
7.5.2 直接I/O
7.5.3 IRP_MJ_DEVICE_CONTROL的用户缓冲区
7.6 汇总:Zero驱动程序
7.6.1 使用预编译头
7.6.2 DriverEntry例程
7.6.3 读分发例程
7.6.4 写分发例程
7.6.5 测试应用
7.7 总结
第8章 进程和线程通知
8.1 进程通知
8.2 实现进程通知
8.2.1 DriverEntry例程
8.2.2 处理进程退出通知
8.2.3 处理进程创建通知
8.3 将数据提供给用户模式
8.4 线程通知
8.5 映像载入通知
8.6 练习
8.7 总结
第9章 对象和注册表通知
9.1 对象通知
9.1.1 操作前回调
9.1.2 操作后回调
9.2 进程保护者驱动程序
9.2.1 对象通知注册
9.2.2 管理受保护的进程
9.2.3 操作前回调
9.2.4 客户应用
9.3 注册表通知
9.3.1 处理操作前通知
9.3.2 处理操作后回调
9.3.3 性能考虑
9.4 实现注册表通知
9.4.1 处理注册表回调
9.4.2 修改后的客户程序代码
9.5 练习
9.6 总结
第10章 文件系统小过滤驱动
10.1 简介
10.2 装入与卸载
10.3 初始化
10.3.1 操作回调注册
10.3.2 高度
10.4 安装
10.4.1 INF文件
10.4.2 安装驱动程序
10.5 处理I/O操作
10.5.1 操作前回调
10.5.2 操作后回调
10.6 删除保护驱动程序
10.6.1 处理创建前回调
10.6.2 处理设置信息前回调
10.6.3 重构
10.6.4 将驱动程序通用化
10.6.5 测试修改后的驱动程序
10.7 文件名
10.7.1 文件名的各个部分
10.7.2 RAII FLT_FILE_NAME_INFORMATION包装器
10.8 另一个删除保护驱动程序
10.8.1 处理创建前回调和设置信息前回调
10.8.2 测试驱动程序
10.9 上下文
10.10 初始化I/O请求
10.11 文件备份驱动程序
10.11.1 创建后回调
10.11.2 写前回调
10.11.3 清理后回调
10.11.4 测试驱动程序
10.11.5 恢复备份
10.12 用户模式通信
10.12.1 创建通信端口
10.12.2 用户模式连接
10.12.3 发送和接收消息
10.12.4 增强文件备份驱动程序
10.12.5 用户模式客户程序
10.13 调试
10.14 练习
10.15 总结
第11章 其他主题
11.1 驱动程序签名
11.2 驱动程序验证器
11.3 使用原生API
11.4 过滤驱动程序
11.4.1 过滤驱动程序的实现
11.4.2 附加过滤器
11.4.3 在任意时刻附加过滤器
11.4.4 过滤器的清理
11.4.5 基于硬件的过滤驱动程序的更多内容
11.5 设备监视器
11.5.1 增加过滤设备
11.5.2 移除过滤设备
11.5.3 初始化和卸载
11.5.4 处理请求
11.5.5 测试驱动程序
11.5.6 请求的结果
11.6 驱动程序挂钩
11.7 内核库
11.8 总结
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜