本书是了解Win 32 API主要特征和功能的实用指南,它会帮助你了解和掌握window NT和Windows 2000。与大部分程序设计的资料不同,本书着重介绍核心的系统服务(文件系统、内存、进程、通信和安全性),而不是介绍一般的图形用户界面函数。特别是对于那些已经熟悉UNIX或其他高端操作系统编程的人员来说,本书可以帮助你在已有的基础上快速简便地学习Win 32系统特征。\r\n 新版更新和增加了很多新的内容,其中包括网络编程、服务器、NT服务、线程性能以及同步,同时也对Win64(Windows 2000的64位API)进行了初步介绍。本书首先考察单进程应用程序所需的特征,然后进一步介绍与多线程环境有关的高级函数。本书包括如下所示的重要的Wind32主题:\r\n·Win32文件系统\r\n·字符I/O和Unicode\r\n·注册表\r\n·结构化异常处理\r\n·安全性服务\r\n·内存管理和DLL\r\n·线程、进程管理和调度\r\n·线程同步,包括正确使用事件和互斥体而提供的条件变量模型\r\n·进程间通信、管道以及邮槽\r\n·用套接字进行网络编程\r\n·NT服务开发\r\n·异步I/O和I/O完全端口\r\n·远程过程调用\r\n·Win64,包括体系结构、编程模型、数据类型以及遗留代码的移植\r\n 本书每个主题都采用简短而实用的范例进行说明,这些范例可以在网站http://www.infopower.com.cn中找到。附录比较了Win32、UNIX和C库,也提供了性能测试及其结果。\r\n 本书能够使你深入理解Windows环境的核心操作系统函数,并了解用于Windows 2000的Win64 API,还能使用你了解如何使其动作。
译者序\r\n序言\r\n\r\n第1章 从win32和Win64开始\r\n\r\n1.1 操作系统的本质\r\n1.2 Win32 与Windows、2000、NT、9x以及CE\r\n1.3 Win32、标准和开放式系统\r\n1.4 Win32准则\r\n1.5 为Win64做好准备\r\n1.6 标准C库函数:何时用于文件处理\r\n1.7 使用本书的前提\r\n1.8 范例:简单顺序文件的复制\r\n1.9 小结\r\n1.10 练习\r\n\r\n第2章 Win32文件系统操作和字符I/O\r\n\r\n2.1 Win32文件系统\r\n2.2 文件命名\r\n2.3 打开、读、写和关闭文件\r\n2.4 插曲:Unicode字符和普通字符\r\n2.5 Unicode方案\r\n2.6 标准设备和控制台I/O\r\n2.7 范例:打印和提示\r\n2.8 范例:错误处理\r\n2.9 范例:复制多文件到标准输出\r\n2.10 范例:ASCII到Unicode的转换\r\n2.11 文件和目录管理\r\n2.12 范例:打印当前目录\r\n2.13 小结\r\n2.14 练习\r\n\r\n第3章 高级文件和目录处理以及注册表\r\n\r\n3.1 64位文件系统\r\n3.2 文件指针\r\n3.3 获取文件大小\r\n3.4 范例:查看文件结尾\r\n3.5 文件属性和目录处理\r\n3.6 范例:列出文件属性\r\n3.7 设置文件时间\r\n3.8 文件处理策略\r\n3.9 文件锁定\r\n3.10 注册表\r\n3.11 注册表管理\r\n3.12 范例:列举注册键和内容\r\n3.13 小结\r\n3.14 练习\r\n\r\n第4章 结构化异常处理\r\n\r\n4.1 异常和异常处理程序\r\n4.2 浮点异常\r\n4.3 错误和异常\r\n4.4 范例:将错误当作异常\r\n4.5 终止处理程序\r\n4.6 范例:使用终止处理程序提高程序的质量\r\n4.7 范例:使用filter函数\r\n4.8 控制台控制处理程序\r\n4.9 范例:控制台控制处理程序\r\n4.10 小结\r\n4.11 练习\r\n\r\n第5章 Win32对象安全性\r\n\r\n5.1 安全属性\r\n5.2 安全概述:安全性描述符\r\n5.3 安全性标识符\r\n5.4 管理ACL\r\n5.5 范例:NTFS文件的UNIX风格权限\r\n5.6 范例:初始化安全属性\r\n5.7 读取和改变安全性描述符\r\n5.8 范例:读取文件权限\r\n5.9 范例:改变文件权限\r\n5.10 范例:附加的安全性概述\r\n5.11 小结\r\n5.12 练习\r\n\r\n第6章 内存管理、内存映射文件以及DLL\r\n\r\n6.1 Win32内存管理体系\r\n6.2 堆\r\n6.3 管理堆内存\r\n6.4 范例:用二分搜索树法排序文件\r\n6.5 内存映射文件\r\n6.6 范例:用映射文件进行顺序文件处理\r\n6.7 范例:排序内存映射文件\r\n6.8 范例:使用基指针\r\n6.9 动态链接库\r\n6.10 范例:显示链接文件转换函数\r\n6.11 DLL入口点\r\n6.12 小结\r\n6.13 练习\r\n\r\n第7章 进程管理\r\n\r\n7.1 Windows进程和线程\r\n7.2 进程创建\r\n7.3 进程标识符\r\n7.4 复制句柄\r\n7.5 退出和终止进程\r\n7.6 等待进程终止\r\n7.7 环境块和字符串\r\n7.8 范例:并行式搜索\r\n7.9 进程运行时间\r\n7.10 范例:进程运行时间\r\n7.11 产生控制台控制事件\r\n7.12 范例:简单的作业管理\r\n7.13 作业对象\r\n7.14 小结\r\n7.15 练习\r\n\r\n第8章 线程和调度\r\n\r\n8.1 线程概述\r\n8.2 线程基础\r\n8.3 线程管理\r\n8.4 在线程中使用C库\r\n8.5 范例:多线程模式搜索\r\n8.6 主机/工作者和其他线程模型\r\n8.7 范例:合并排序——使用SMP的分而治之的方式\r\n8.8 线程局部存储(TLS)\r\n8.9 进程与线程的优先权和调度\r\n8.10 线程状态\r\n8.11 缺陷和常见的错误\r\n8.12 计时等待\r\n8.13 Fiber\r\n8.14 小结\r\n8.15 练习\r\n\r\n第9章 线程同步\r\n\r\n9.1 线程同步的需求\r\n9.2 线程同步的对象\r\n9.3 CRITICAL__SECTION对象\r\n9.4 用于保护共享变量的CRITICAL__SECTION\r\n9.5 范例:一个简单的生产者/消费者系统\r\n9.6 互斥体\r\n9.7 信号机\r\n9.8 事件\r\n9.9 范例:一个生产者/消费者系统\r\n9.10 范例:同步性能影响\r\n9.11 更多的互斥体和CRITICAL__SECTION原则\r\n9.12 互锁函数深化\r\n9.13 关于内存管理性能的考虑事项\r\n9.14 小结\r\n9.15 练习\r\n\r\n第10章 高级线程同步\r\n\r\n10.1 互斥体、事件和条件变量模型\r\n10.2 范例:阀值屏障对象\r\n10.3 队列对象\r\n10.4 范例:在多级管道中使用队列\r\n10.5 关于设计、调试和测试的提示\r\n10.6 小结\r\n10.7 练习\r\n\r\n第11章 进程间通信\r\n\r\n11.1 匿名管道\r\n11.2 范例:使用一个匿名管道来实现I/O重定向\r\n11.3 命名管道\r\n11.4 命名管道事务函数\r\n11.5 范例“一个客户端/服务器命令行处理器\r\n11.6 客户端/服务器命令行处理注释\r\n11.7 邮槽\r\n11.8 管道和邮槽创建、连接和命名\r\n11.9 范例:客户端能够查找的服务器\r\n11.10 线程模型注释\r\n11.11 小结\r\n11.12 练习\r\n\r\n第12章 使用Windows Socket进行网络编程\r\n\r\n12.1 Windows Socket\r\n12.2 Socket服务器函数\r\n12.3 Socket客户端函数\r\n12.4 比较命名管道和Socket\r\n12.5 范例:Socket消息接收函数\r\n12.6 范例:基于Socket的客户端\r\n12.7 范例:具有新特性的、基于Socket的服务器\r\n12.8 进程内服务\r\n12.9 面向行的消息、DLL入口点和TLS\r\n12.10 范例:一个用于Socket消息的线程安全的DLL\r\n12.11 范例:一个替代的线程安全的DLL策略\r\n12.12 数据报\r\n12.13 Berkeley与Windows Socket比较\r\n12.14 Windows Socket的重叠I/O\r\n12.15 Windows Socket2\r\n12.16 小结\r\n12.17 练习\r\n\r\n第13章 NT服务\r\n\r\n13.1 编写NT服务——概述\r\n13.2 main()函数\r\n13.3 ServiceMain()函数\r\n13.4 服务控制处理程序\r\n13.5 范例:服务“包装”\r\n13.6 管理Windows NT服务\r\n13.7 总结:服务操作和管理\r\n13.8 范例:服务控制命令处理程序\r\n13.9 与服务共享内核对象\r\n13.10 事件日志\r\n13.11 调试服务的注意事项\r\n13.12 小结\r\n13.13 练习\r\n\r\n第14章 异步输入/输出和完成端口\r\n\r\n14.1 Win32异步I/O概述\r\n14.2 重叠I/O\r\n14.3 范例:文件句柄同步\r\n14.4 范例:带有重叠I/O和多缓冲器的文件转换\r\n14.5 带有完成例程的扩展I/O\r\n14.6 范例:带有扩展I/O的文件转换\r\n14.7 带有线程的异步I/O\r\n14.8 可等待计时器\r\n14.9 范例:使用可等到待计时器\r\n14.10 I/O完成端口\r\n14.11 范例:使用I/O完成端口的服务器\r\n14.12 小结\r\n14.13 练习\r\n\r\n第15章 远程过程调用和COM概述\r\n\r\n15.1 远程过程调用\r\n15.2 基本的RPC体系结构\r\n15.3 RPC接口定义\r\n15.4 范例:接口定义\r\n15.5 范例:RPC客户端\r\n15.6 范例:RPC服务器\r\n15.7 COM和DCOM简要概述\r\n15.8 小结\r\n15.9 练习\r\n\r\n第16章 Win64\r\n\r\n16.1 64位体系结构概述\r\n16.2 Win64编程模型\r\n16.3 数据类型\r\n16.4 3个Win64编程模型\r\n16.5传统代码转换\r\n\r\n附录A 范例程序的使用\r\n\r\nA.1 范例程序的组织结构\r\nA.2 包含文件的清单\r\nA.3 附加的实用程序\r\n\r\n附录B Win32、UNIX和C库文件的比较\r\n\r\nB.1 第2和3章:文件和目录管理\r\nB.2 第4章:结构化异常处理\r\nB.3 第5章:保护Win32对象\r\nB.4 第6章:内存管理、内存映射文件和DLL\r\nB.5 第7章:进程管理\r\nB.6 第8章:线程和调度\r\nB.7 第9和10章:线程同步\r\nB.8 第11章:进程间通信\r\nB.9 第14章:异步I/O\r\n\r\n附录C 性能结果\r\n\r\nC.1 测试配置\r\nC.2 性能测量\r\nC.3 运行测量