[套装书]Windows内核编程+Windows运行时编程权威指南(2册)

作者
帕维尔·约西福维奇 Jeffrey Richter Maarten van de Bospoort
丛书名
华章程序员书库
出版社
机械工业出版社
ISBN
9782106301732
简要
简介
内容简介书籍计算机书籍 ---------------------------8081593 - Windows内核编程--------------------------- 在Windows系统中没有什么比内核更强大了,但是如何编写内核驱动程序来利用这种强大能力呢?这本书为读者描述如何编写Windows系统的软件内核驱动程序。这些驱动程序不涉及硬件,而是处理系统本身:进程、线程、模块、注册表等等。内核代码可用于监视重要事件,防止在需要时发生某些事件。读者可以通过编写各种过滤器来拦截驱动程序中感兴趣的调用。 ---------------------------3804192 - Windows运行时编程权威指南--------------------------- 《Windows 运行时编程权威指南》是国际知名Windows/.NET技术专家Jeffrey Richter的最新力作,全面、系统地介绍Windows运行时 (WinRT) API的重要特性及应用技术,并通过丰富的编程示例,详细讲解在应用中使用这些API的最佳方式,不仅涵盖WinRT API的核心概念,还穿插了许多提升性能和进行调试的技巧。 《Windows 运行时编程权威指南》分为两部分,共11章:第一部分(第1~3章)囊括了所有WinRT和Windows应用商店应用开发人员必须了解的重要概念,包括WinRT 类型系统及其设计原则、异步调用、程序包文件,以及应用激活、线程模型、主视图和宿主视图窗口、XAML页面导航、高效内存管理、进程生命周期管理及调试等与Windows应用商店应用执行相关的若干核心概念。第二部分(第4~11章)介绍Windows应用商店应用开发人员都必须了解的核心主题,例如,如何通过设置、文件、文件夹、网络和数据共享来实现数据的迁移,如何对磁贴内容进行更新和显示消息通知,如何在不同文件和文件夹中导航、获取其属性及缩略图,如何执行多信息文件查询,Windows应用商店应用如何借助后台任务运行代码,如何向Windows应用商店提交自己开发的应用,以及如何巧用Windows应用商店商用引擎使自己在开发中所付出的劳动获得回报等。
目录
[套装书具体书目]
3804192 - Windows运行时编程权威指南 - 9787111476719 - 机械工业出版社 - 定价 69
8081593 - Windows内核编程 - 9787111684756 - 机械工业出版社 - 定价 119



---------------------------8081593 - Windows内核编程---------------------------


译者序
第1章 Windows内部概览1
1.1 进程1
1.2 虚拟内存2
1.2.1 页状态4
1.2.2 系统内存4
1.3 线程5
1.4 系统服务7
1.5 系统总体架构8
1.6 句柄和对象10
1.6.1 对象名称11
1.6.2 访问已经存在的对象13
第2章 开始内核开发15
2.1 安装工具15
2.2 创建一个驱动程序项目16
2.3 DriverEntry和Unload例程17
2.4 部署驱动程序19
2.5 简单的跟踪22
2.6 练习24
2.7 总结24
第3章 内核编程基础25
3.1 内核编程的一般准则25
3.1.1 未处理的异常26
3.1.2 终止26
3.1.3 函数返回值26
3.1.4 IRQL27
3.1.5 C++用法27
3.1.6 测试和调试28
3.2 调试构建与发布构建28
3.3 内核API29
3.4 函数和错误代码30
3.5 字符串30
3.6 动态内存分配31
3.7 链表33
3.8 驱动程序对象35
3.9 设备对象36
3.10 总结38
第4章 驱动程序:从头到尾39
4.1 简介39
4.2 驱动程序初始化40
4.2.1 将信息传递给驱动程序41
4.2.2 客户程序/驱动程序之间的通信协议42
4.2.3 创建设备对象44
4.3 客户程序代码46
4.4 Create和Close分发例程47
4.5 DeviceIoControl分发例程48
4.6 安装与测试52
4.7 总结54
第5章 调试55
5.1 Debugging Tools for Windows 55
5.2 WinDbg简介56
5.3 内核调试70
5.3.1 本地内核调试70
5.3.2 本地内核调试教程71
5.4 完整内核调试77
5.4.1 配置目标机78
5.4.2 配置宿主机79
5.5 内核驱动程序调试教程81
5.6 总结83
第6章 内核机制84
6.1 中断请求级别84
6.1.1 提升和降低IRQL86
6.1.2 线程优先级与IRQL87
6.2 延迟过程调用88
6.3 异步过程调用90
6.4 结构化异常处理91
6.4.1 使用__try/__except93
6.4.2 使用__try/__finally95
6.4.3 使用C++ RAII代替__try/__finally96
6.5 系统崩溃98
6.5.1 崩溃转储信息100
6.5.2 分析转储文件103
6.5.3 系统挂起105
6.6 线程同步107
6.6.1 互锁操作107
6.6.2 分发器对象108
6.6.3 互斥量110
6.6.4 快速互斥量113
6.6.5 信号量114
6.6.6 事件114
6.6.7 执行体资源115
6.7 高IRQL同步116
6.8 工作项目119
6.9 总结120
第7章 I/O请求包121
7.1 IRP简介121
7.2 设备节点122
7.3 IRP和I/O栈位置126
7.4 分发例程130
7.5 访问用户缓冲区132
7.5.1 缓冲I/O133
7.5.2 直接I/O135
7.5.3 IRP_MJ_DEVICE_CONTROL的用户缓冲区138
7.6 汇总:Zero驱动程序139
7.6.1 使用预编译头140
7.6.2 DriverEntry例程142
7.6.3 读分发例程143
7.6.4 写分发例程144
7.6.5 测试应用144
7.7 总结145
第8章 进程和线程通知146
8.1 进程通知146
8.2 实现进程通知149
8.2.1 DriverEntry例程151
8.2.2 处理进程退出通知152
8.2.3 处理进程创建通知154
8.3 将数据提供给用户模式156
8.4 线程通知160
8.5 映像载入通知163
8.6 练习164
8.7 总结165
第9章 对象和注册表通知166
9.1 对象通知166
9.1.1 操作前回调168
9.1.2 操作后回调170
9.2 进程保护者驱动程序171
9.2.1 对象通知注册172
9.2.2 管理受保护的进程172
9.2.3 操作前回调176
9.2.4 客户应用177
9.3 注册表通知180
9.3.1 处理操作前通知181
9.3.2 处理操作后回调181
9.3.3 性能考虑182
9.4 实现注册表通知182
9.4.1 处理注册表回调183
9.4.2 修改后的客户程序代码185
9.5 练习187
9.6 总结187
第10章 文件系统小过滤驱动188
10.1 简介188
10.2 装入与卸载189
10.3 初始化191
10.3.1 操作回调注册194
10.3.2 高度198
10.4 安装200
10.4.1 INF文件200
10.4.2 安装驱动程序206
10.5 处理I/O操作206
10.5.1 操作前回调207
10.5.2 操作后回调209
10.6 删除保护驱动程序210
10.6.1 处理创建前回调212
10.6.2 处理设置信息前回调216
10.6.3 重构218
10.6.4 将驱动程序通用化221
10.6.5 测试修改后的驱动程序225
10.7 文件名227
10.7.1 文件名的各个部分228
10.7.2 RAII FLT_FILE_NAME_INFORMATION包装器231
10.8 另一个删除保护驱动程序232
10.8.1 处理创建前回调和设置信息前回调239
10.8.2 测试驱动程序241
10.9 上下文241
10.10 初始化I/O请求244
10.11 文件备份驱动程序246
10.11.1 创建后回调248
10.11.2 写前回调252
10.11.3 清理后回调257
10.11.4 测试驱动程序258
10.11.5 恢复备份258
10.12 用户模式通信260
10.12.1 创建通信端口261
10.12.2 用户模式连接262
10.12.3 发送和接收消息263
10.12.4 增强文件备份驱动程序264
10.12.5 用户模式客户程序266
10.13 调试268
10.14 练习271
10.15 总结271
第11章 其他主题273
11.1 驱动程序签名273
11.2 驱动程序验证器276
11.3 使用原生API282
11.4 过滤驱动程序283
11.4.1 过滤驱动程序的实现285
11.4.2 附加过滤器286
11.4.3 在任意时刻附加过滤器288
11.4.4 过滤器的清理289
11.4.5 基于硬件的过滤驱动程序的更多内容290
11.5 设备监视器292
11.5.1 增加过滤设备293
11.5.2 移除过滤设备296
11.5.3 初始化和卸载297
11.5.4 处理请求298
11.5.5 测试驱动程序301
11.5.6 请求的结果305
11.6 驱动程序挂钩307
11.7 内核库309
11.8 总结310



---------------------------3804192 - Windows运行时编程权威指南---------------------------


《Windows运行时编程权威指南》
序 言
前 言
第一部分 核心概念
第1章 Windows运行时入门 2
1.1 Windows应用商店应用的技术栈 5
1.2 Windows运行时类型系统 9
1.3 Windows运行时类型系统投影 10
1.4 从.NET代码中调用异步WinRT API 15
1.4.1 简化异步方法的调用 17
1.4.2 取消与进度 18
1.4.3 WinRT的延迟 20
第2章 应用打包及部署 23
2.1 Windows应用商店应用的项目文件 23
2.2 应用的程序包清单文件 25
2.2.1 程序包的标识 26
2.2.2 功能 28
2.2.3 应用(而不是包)的声明(扩展/协议) 30
2.3 Windows应用商店应用程序包的构建 32
2.3.1 .appx程序包文件的内容 34
2.3.2 捆绑程序包文件的创建 36
2.4 Windows应用商店程序包的部署 37
2.4.1 受限部署 37
2.4.2 企业部署 38
2.4.3 Windows应用商店应用部署 40
2.5 程序包的安装及注册 40
2.6 Wintellect的程序包浏览器桌面应用 42
2.7 Windows应用商店应用的调试 43
第3章 进程模型 46
3.1 应用程序的激活 46
3.2 管理进程模型 52
3.3 XAML页面导航 56
3.4 进程生命期管理 60
3.4.1 Windows应用商店应用的挂起 61
3.4.2 Windows应用商店应用的终止 63
3.4.3 如何设计应用类代码的结构 66
3.4.4 进程生命期管理的调试 71
第二部分 Windows核心部件
第4章 程序包数据及漫游 74
4.1 程序包数据配置 76
4.2 程序包数据存储文件夹 78
4.3 程序包数据的版本管理 78
4.4 程序包数据的漫游 80
4.5 程序包数据的更改通知 84
第5章 存储文件及文件夹 85
5.1 WinRT存储对象模型 85
5.2 程序包及用户文件 87
5.3 访问只读程序包文件 88
5.4 访问只写程序包文件 89
5.5 通过显式用户许可访问用户文件 91
5.6 文件类型关联 95
5.7 存储项属性 100
5.8 通过隐式用户许可访问用户文件 103
5.9 执行文件及文件夹查询 108
第6章 流I/O 111
6.1 简单文件I/O 111
6.2 流对象模型 112
6.3 WinRT流与.NET流的互操作 115
6.4 字节缓存的传输 116
6.5 基本数据类型的读写 119
6.6 执行事务性写操作 122
6.7 礼貌性数据访问 124
6.8 数据的压缩及解压缩 126
6.9 加密与解密 128
6.10 按需填充流 130
6.11 查找流内容 133
第7章 联网 138
7.1 网络信息 138
7.2 网络隔离 140
7.3 网络连接配置文件信息 143
7.3.1 应用必须包含如何使用连接配置文件信息 144
7.3.2 网络连接变化通知 146
7.4 后台传输 147
7.5 HttpClient:客户端HTTP(S)通信 152
7.6 Windows运行时套接字 160
7.6.1 套接字寻址 161
7.6.2 StreamSocket:客户端TCP通信 162
7.6.3 StreamSocketListener:服务器端TCP通信 164
7.6.4 StreamWebSocket:客户端WebSocket通信的流式处理 165
7.6.5 MessageWebSocket: 客户端WebSocket通信消息传送 168
7.6.6 DatagramSocket:端到端UDP通信 169
7.6.7 DatagramSocket:多播UDP通信 172
7.7 使用证书对遍历网络的数据进行加密 174
第8章 磁贴和消息通知 176
8.1 磁贴和徽章 177
8.1.1 当应用处于前台时更新磁贴 179
8.1.2 为磁贴添加徽章 182
8.1.3 为磁贴内容添加动画 183
8.1.4 在计划的时间更新磁贴 185
8.1.5 定期更新磁贴 185
8.1.6 辅助磁贴 186
8.2 消息通知 188
8.2.1 在计划的时间显示消息通知 191
8.2.2 使用Wintellect的通知扩展库 192
8.2.3 Windows 推送通知服务 192
第9章 后台任务 199
9.1 后台任务体系结构 200
9.2 步骤1:实现后台任务代码 201
9.3 步骤2:确定后台任务代码的触发器 202
9.3.1 维护触发器和计时触发器 202
9.3.2 系统触发器 203
9.3.3 位置触发器 204
9.3.4 推送通知触发器 205
9.3.5 控制通道触发器 206
9.4 步骤3:添加清单声明 206
9.5 步骤4:注册应用程序的后台任务 213
9.6 调试后台任务 215
9.7 后台任务的资源配额 216
9.8 部署应用程序的新版本 218
9.9 后台任务的进度和完成 218
9.10 取消后台任务 220
第10章 应用之间的数据共享 222
10.1 通过DataPackage类传输数据 222
10.2 通过剪贴板共享数据 224
10.3 通过共享超级按钮共享数据 227
10.4 共享源应用的实现 230
10.5 共享目标应用的实现 233
10.5.1 扩展共享操作的实现 236
10.5.2 共享目标应用的快速链接 237
10.6 共享目标应用的调试 238
第11章 Windows应用商店 239
11.1 向Windows应用商店提交应用 240
11.1.1 提交你的应用 241
11.1.2 测试你的应用 244
11.1.3 监视你的应用 246
11.1.4 更新你的应用 247
11.2 Windows应用商店的商业引擎 247
11.2.1 Windows应用商店的商业引擎WinRT API 249
11.2.2 试用版应用和购买应用许可证 254
11.2.3 购买持久型应用内产品的许可证 256
11.2.4 购买消耗型应用内产品 258
11.2.5 购买消耗型应用内产品内容 261
附录 应用容器 263
作者简介 266

推荐

车牌查询
桂ICP备20004708号-3