《Win32系统编程 Windows 2000应用程序开发指南》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)Johnson M. Hart著;刘立业等译
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2003
  • ISBN:7508315200
  • 页数:364 页
图书介绍:本书是一本Win32系统程序设计的技术参考书,其中心内容是讲述Windows操作系统家族的文件系统管理、结构化异常处理、对象安全性、进程和线程、网络通信以及NT服务等,还介绍了新的Win64的主要特征。本书的覆盖范围广,内容新颖,比较详细地介绍了Windows操作系统下程序设计的方法和注意事项,并且通过大量的示例展示了与UNIX和C库实现的性能比较。本书的许多话题是其他书所没有涉及的,如Win64的特性等。通过此书,相信你可以在较短的时间内了解和熟悉Win32程序设计。

第1章 从Win32和Win64开始 1

1.1 操作系统的本质 1

1.2 Win32与Windows 2000、NT、9x以及CE 3

1.3 Win32、标准和开放式系统 4

1.4 Win32准则 5

1.5 为Win64做好准备 7

1.6 标准C库函数:何时用于文件处理 7

1.7 使用本书的前提 8

1.8 范例:简单顺序文件的复制 9

1.9 小结 13

1.10 练习 14

第2章 Win32文件系统操作和字符I/O 15

2.1 Win32文件系统 15

2.2 文件命名 16

2.3 打开、读、写和关闭文件 16

2.4 插曲:Unicode字符和普通字符 20

2.5 Unicode方案 22

2.6 标准设备和控制台I/O 23

2.7 范例:打印和提示 26

2.8 范例:错误处理 28

2.9 范例:复制多文件到标准输出 29

2.10 范例:ASCII到Unicode的转换 30

2.11 文件和目录管理 32

2.12 范例:打印当前目录 35

2.13 小结 35

2.14 练习 36

第3章 高级文件和目录处理以及注册表 38

3.1 64位文件系统 38

3.2 文件指针 38

3.3 获取文件大小 40

3.4 范例:查看文件结尾 41

3.5 文件属性和目录处理 43

3.6 范例:列出文件属性 46

3.7 设置文件时间 49

3.8 文件处理策略 50

3.9 文件锁定 50

3.10 注册表 53

3.11 注册表管理 55

3.12 范例:列举注册键和内容 58

3.13 小结 61

3.14 练习 61

第4章 结构化异常处理 63

4.1 异常和异常处理程序 63

4.2 浮点异常 68

4.3 错误和异常 69

4.4 范例:将错误当作异常 70

4.5 终止处理程序 71

4.6 范例:使用终止处理程序提高程序的质量 74

4.7 范例:使用filter函数 76

4.8 控制台控制处理程序 79

4.9 范例:控制台控制处理程序 80

4.10 小结 81

4.11 练习 81

第5章 Win32对象安全性 82

5.1 安全属性 82

5.2 安全性概述:安全性描述符 83

5.3 安全性标识符 85

5.4 管理ACL 86

5.5 范例:NTFS文件的UNIX风格权限 87

5.6 范例:初始化安全属性 90

5.7 读取和改变安全性描述符 92

5.8 范例:读取文件权限 94

5.9 范例:改变文件权限 95

5.10 附加的安全性概述 96

5.11 小结 97

5.12 练习 98

第6章 内存管理、内存映射文件以及DLL 99

6.1 Win32内存管理体系 99

6.2 堆 101

6.3 管理堆内存 103

6.4 范例:用二分搜索树法排序文件 105

6.5 内存映射文件 110

6.6 范例:用映射文件进行顺序文件处理 114

6.7 范例:排序内存映射文件 116

6.8 范例:使用基指针 117

6.9 动态链接库 121

6.10 范例:显式链接文件转换函数 124

6.11 DLL入口点 125

6.12 小结 126

6.13 练习 127

第7章 进程管理 128

7.1 Windows进程和线程 128

7.2 进程创建 129

7.3 进程标识符 134

7.4 复制句柄 134

7.5 退出和终止进程 135

7.6 等待进程终止 136

7.7 环境块和字符串 137

7.8 范例:并行式搜索 138

7.9 进程运行时间 141

7.10 范例:进程运行时间 141

7.11 产生控制台控制事件 143

7.12 范例:简单的作业管理 144

7.13 作业对象 151

7.14 小结 152

7.15 练习 152

第8章 线程和调度 154

8.1 线程概述 154

8.2 线程基础 155

8.3 线程管理 156

8.4 在线程中使用C库 159

8.5 范例:多线程模式搜索 160

8.6 主机/工作者和其他线程模型 162

8.7 范例:合并排序——使用SMP的分而治之的方式 163

8.8 线程局部存储(TLS) 167

8.9 进程与线程的优先权和调度 168

8.10 线程状态 169

8.11 缺陷和常见的错误 171

8.12 计时等待 171

8.13 Fiber 172

8.14 小结 175

8.15 练习 175

第9章 线程同步 177

9.1 线程同步的需求 177

9.2 线程同步对象 180

9.3 CRITICAL_SECTION对象 181

9.4 用于保护共享变量的CRITICAL_SECTION 182

9.5 范例:一个简单的生产者/消费者系统 183

9.6 互斥体 187

9.7 信号机 190

9.8 事件 193

9.9 范例:一个生产者/消费者系统 194

9.10 范例:同步性能影响 197

9.11 更多的互斥体和CRITICAL_SECTION原则 200

9.12 互锁函数深化 201

9.13 关于内存管理性能的考虑事项 202

9.14 小结 202

9.15 练习 203

第10章 高级线程同步 205

10.1 互斥体、事件和条件变量模型 205

10.2 范例:阀值屏障对象 209

10.3 队列对象 211

10.4 范例:在多级管道中使用队列 215

10.5 关于设计、调试和测试的提示 221

10.6 小结 223

10.7 练习 224

第11章 进程间通信 225

11.1 匿名管道 225

11.2 范例:使用一个匿名管道来实现I/O重定向 226

11.3 命名管道 228

11.4 命名管道事务函数 232

11.5 范例:一个客户端/服务器命令行处理器 235

11.6 客户端/服务器命令行处理器注释 240

11.7 邮槽 240

11.8 管道和邮槽创建、连接和命名 243

11.9 范例:客户端能够查找的服务器 243

11.10 线程模型注释 245

11.11 小结 246

11.12 练习 246

第12章 使用Windows Socket进行网络编程 248

12.1 Windows Socket 248

12.2 Socket服务器函数 250

12.3 Socket客户端函数 253

12.4 比较命名管道和Socket 254

12.5 范例:Socket消息接收函数 255

12.6 范例:基于Socket的客户端 256

12.7 范例:具有新特性的、基于Socket的服务器 258

12.8 进程内服务 262

12.9 面向行的消息、DLL入口点和TLS 264

12.10 范例:一个用于Socket消息的线程安全的DLL 264

12.11 范例:一个替代的线程安全的DLL策略 268

12.12 数据报 270

12.13 Berkeley与Windows Socket比较 271

12.14 Windows Socket的重叠I/O 271

12.15 Windows Socket 2 271

12.16 小结 271

12.17 练习 272

第13章 NT服务 274

13.1 编写NT服务——概述 274

13.2 main()函数 275

13.3 ServiceMain()函数 276

13.4 服务控制处理程序 279

13.5 范例:服务“包装” 279

13.6 管理Windows NT服务 282

13.7 总结:服务操作和管理 284

13.8 范例:服务控制命令处理程序 284

13.9 与服务共享内核对象 287

13.10 事件日志 287

13.11 调试服务的注意事项 287

13.12 小结 288

13.13 练习 289

第14章 异步输入/输出和完成端口 290

14.1 Win32异步I/O概述 290

14.2 重叠I/O 291

14.3 范例:文件句柄同步 294

14.4 范例:带有重叠I/O和多缓冲器的文件转换 294

14.5 带有完成例程的扩展I/O 297

14.6 范例:带有扩展I/O的文件转换 301

14.7 带有线程的异步I/O 303

14.8 可等待计时器 304

14.9 范例:使用可等待计时器 305

14.10 I/O完成端口 306

14.11 范例:使用I/O完成端口的服务器 309

14.12 小结 312

14.13 练习 313

第15章 远程过程调用和COM概述 314

15.1 远程过程调用 314

15.2 基本的RPC体系结构 315

15.3 RPC接口定义 316

15.4 范例:接口定义 317

15.5 范例:RPC客户端 318

15.6 范例:RPC服务器 320

15.7 COM和DCOM简要概述 322

15.8 小结 324

15.9 练习 325

第16章 Win64编程 326

16.1 64位体系结构概述 326

16.2 Win64编程模型 328

16.3 数据类型 328

16.4 3个Win64编程模型 330

16.5 传统代码转换 331

附录A 范例程序的使用 333

A.1 范例程序的组织结构 333

A.2 包含文件的清单 338

A.3 附加的实用程序 343

附录B Win32、UNIX和C库文件的比较 346

B.1 第2和3章:文件和目录管理 347

B.2 第4章:结构化异常处理 349

B.3 第5章:保护Win32对象 350

B.4 第6章:内存管理、内存映射文件和DLL 351

B.5 第7章:进程管理 352

B.6 第8章:线程和调度 353

B.7 第9和10章:线程同步 354

B.8 第11章:进程间通信 354

B.9 第14章:异步I/O 355

附录C 性能结果 356

C.1 测试配置 356

C.2 性能测量 357

C.3 运行测试 364