WIN32系统编程:Windows 2000应用程序开发指南

WIN32系统编程:Windows 2000应用程序开发指南
作 者: Johnson Hart 刘立业 赵忠宇 齐占杰
出版社: 中国电力出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: Windows
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《WIN32系统编程:Windows 2000应用程序开发指南》作者简介

内容简介

本书是了解Win 32 API主要特征和功能的实用指南,它会帮助你了解和掌握window NT和Windows 2000。与大部分程序设计的资料不同,本书着重介绍核心的系统服务(文件系统、内存、进程、通信和安全性),而不是介绍一般的图形用户界面函数。特别是对于那些已经熟悉UNIX或其他高端操作系统编程的人员来说,本书可以帮助你在已有的基础上快速简便地学习Win 32系统特征。新版更新和增加了很多新的内容,其中包括网络编程、服务器、NT服务、线程性能以及同步,同时也对Win64(Windows 2000的64位API)进行了初步介绍。本书首先考察单进程应用程序所需的特征,然后进一步介绍与多线程环境有关的高级函数。本书包括如下所示的重要的Wind32主题:·Win32文件系统·字符I/O和Unicode·注册表·结构化异常处理·安全性服务·内存管理和DLL·线程、进程管理和调度·线程同步,包括正确使用事件和互斥体而提供的条件变量模型·进程间通信、管道以及邮槽·用套接字进行网络编程·NT服务开发·异步I/O和I/O完全端口·远程过程调用·Win64,包括体系结构、编程模型、数据类型以及遗留代码的移植本书每个主题都采用简短而实用的范例进行说明,这些范例可以在网站http://www.infopower.com.cn中找到。附录比较了Win32、UNIX和C库,也提供了性能测试及其结果。本书能够使你深入理解Windows环境的核心操作系统函数,并了解用于Windows 2000的Win64 API,还能使用你了解如何使其动作。

图书目录

译者序

序言

第1章 从win32和Win64开始

1.1 操作系统的本质

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

1.3 Win32、标准和开放式系统

1.4 Win32准则

1.5 为Win64做好准备

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

1.7 使用本书的前提

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

1.9 小结

1.10 练习

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

2.1 Win32文件系统

2.2 文件命名

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

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

2.5 Unicode方案

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

2.7 范例:打印和提示

2.8 范例:错误处理

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

2.10 范例:ASCII到Unicode的转换

2.11 文件和目录管理

2.12 范例:打印当前目录

2.13 小结

2.14 练习

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

3.1 64位文件系统

3.2 文件指针

3.3 获取文件大小

3.4 范例:查看文件结尾

3.5 文件属性和目录处理

3.6 范例:列出文件属性

3.7 设置文件时间

3.8 文件处理策略

3.9 文件锁定

3.10 注册表

3.11 注册表管理

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

3.13 小结

3.14 练习

第4章 结构化异常处理

4.1 异常和异常处理程序

4.2 浮点异常

4.3 错误和异常

4.4 范例:将错误当作异常

4.5 终止处理程序

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

4.7 范例:使用filter函数

4.8 控制台控制处理程序

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

4.10 小结

4.11 练习

第5章 Win32对象安全性

5.1 安全属性

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

5.3 安全性标识符

5.4 管理ACL

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

5.6 范例:初始化安全属性

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

5.8 范例:读取文件权限

5.9 范例:改变文件权限

5.10 范例:附加的安全性概述

5.11 小结

5.12 练习

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

6.1 Win32内存管理体系

6.2 堆

6.3 管理堆内存

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

6.5 内存映射文件

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

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

6.8 范例:使用基指针

6.9 动态链接库

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

6.11 DLL入口点

6.12 小结

6.13 练习

第7章 进程管理

7.1 Windows进程和线程

7.2 进程创建

7.3 进程标识符

7.4 复制句柄

7.5 退出和终止进程

7.6 等待进程终止

7.7 环境块和字符串

7.8 范例:并行式搜索

7.9 进程运行时间

7.10 范例:进程运行时间

7.11 产生控制台控制事件

7.12 范例:简单的作业管理

7.13 作业对象

7.14 小结

7.15 练习

第8章 线程和调度

8.1 线程概述

8.2 线程基础

8.3 线程管理

8.4 在线程中使用C库

8.5 范例:多线程模式搜索

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

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

8.8 线程局部存储(TLS)

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

8.10 线程状态

8.11 缺陷和常见的错误

8.12 计时等待

8.13 Fiber

8.14 小结

8.15 练习

第9章 线程同步

9.1 线程同步的需求

9.2 线程同步的对象

9.3 CRITICAL__SECTION对象

9.4 用于保护共享变量的CRITICAL__SECTION

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

9.6 互斥体

9.7 信号机

9.8 事件

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

9.10 范例:同步性能影响

9.11 更多的互斥体和CRITICAL__SECTION原则

9.12 互锁函数深化

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

9.14 小结

9.15 练习

第10章 高级线程同步

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

10.2 范例:阀值屏障对象

10.3 队列对象

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

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

10.6 小结

10.7 练习

第11章 进程间通信

11.1 匿名管道

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

11.3 命名管道

11.4 命名管道事务函数

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

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

11.7 邮槽

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

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

11.10 线程模型注释

11.11 小结

11.12 练习

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

12.1 Windows Socket

12.2 Socket服务器函数

12.3 Socket客户端函数

12.4 比较命名管道和Socket

12.5 范例:Socket消息接收函数

12.6 范例:基于Socket的客户端

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

12.8 进程内服务

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

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

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

12.12 数据报

12.13 Berkeley与Windows Socket比较

12.14 Windows Socket的重叠I/O

12.15 Windows Socket2

12.16 小结

12.17 练习

第13章 NT服务

13.1 编写NT服务——概述

13.2 main()函数

13.3 ServiceMain()函数

13.4 服务控制处理程序

13.5 范例:服务“包装”

13.6 管理Windows NT服务

13.7 总结:服务操作和管理

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

13.9 与服务共享内核对象

13.10 事件日志

13.11 调试服务的注意事项

13.12 小结

13.13 练习

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

14.1 Win32异步I/O概述

14.2 重叠I/O

14.3 范例:文件句柄同步

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

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

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

14.7 带有线程的异步I/O

14.8 可等待计时器

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

14.10 I/O完成端口

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

14.12 小结

14.13 练习

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

15.1 远程过程调用

15.2 基本的RPC体系结构

15.3 RPC接口定义

15.4 范例:接口定义

15.5 范例:RPC客户端

15.6 范例:RPC服务器

15.7 COM和DCOM简要概述

15.8 小结

15.9 练习

第16章 Win64

16.1 64位体系结构概述

16.2 Win64编程模型

16.3 数据类型

16.4 3个Win64编程模型

16.5传统代码转换

附录A 范例程序的使用

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

A.2 包含文件的清单

A.3 附加的实用程序

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

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

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

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

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

B.5 第7章:进程管理

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

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

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

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

附录C 性能结果

C.1 测试配置

C.2 性能测量

C.3 运行测量