譯者序
前言.
第1章Win32和Win64基礎
1.1操作系統(tǒng)基礎
1.2Windows的演化
1.3Windows版本
1.4Windows的市場角色
1.5Windows.標準和開放系統(tǒng)
1.6Windows原則
1.7準備Win64
1.8標準C庫:何時用于文件處理
1.9使用本書需要具備的條件
1.10范例:復制簡單的順序文件
1.11總結
1.12練習
第2章使用Windows文件系統(tǒng)和字符I/O
2.1Windows文件系統(tǒng)
2.2文件命名
2.3打開.讀取.寫入和關閉文件
2.4插曲:Unicode和通用字符
2.5Unicode策略
2.6標準設備和控制臺I/O
2.7范例:打印和提示
2.8范例:錯誤處理
2.9范例:復制多個文件到標準輸出
2.10范例:ASCII到Unicode的轉換
2.11文件和目錄管理
2.12范例:打印當前目錄
2.13總結
2.14練習
第3章高級文件和目錄處理以及注冊表
3.164位文件系統(tǒng)
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總結
3.15練習
第4章異常處理
4.1異常及其處理器
4.2浮點異常
4.3錯誤和異常
4.4范例:將錯誤當做異常
4.5終止處理器
4.6范例:使用終止處理器來提高程序質量
4.7范例:使用過濾函數
4.8控制臺控制處理韶
4.9范例:一個控制臺控制處理器
4.10矢量異常處理
4.11總結
4.12練習
第5章內存管理.內存映射文件和DLL
5.1Win32和Win64內存管理架構
5.2堆
5.3管理堆內存
5.4范例:使用二分查找樹來排序文件
5.5內存映射文件
5.6范例:對映射文件進行順序文件處理
5.7范例:排序內存映射文件
5.8范例:使用基準指針
5.9動態(tài)鏈接庫
5.10范例:顯式鏈接文件轉換函數
5.11DLL入口點
5.12DLL版本管理
5.13總結
5.14練習
第6章進程管理
6.1Windows進程和線程
6.2進程創(chuàng)建
6.3進程句柄計數
6.4進程標識
6.5復制句柄
6.6退出及終止進程
6.7等待進程終止
6.8環(huán)境塊和字符串
6.9范例:并發(fā)模式查找
6.10多處理器環(huán)境下的進程
6.11進程執(zhí)行時間
6.12范例:進程執(zhí)行時間
6.13產生控制臺控制事件
6.14范例:簡單任務管理
6.15任務對象
6.16總結
6.17練習
第7章線程和調度
7.1線程概覽
7.2線程基礎
7.3線程管理
7.4在線程中使用C庫
7.5范例,多線程模式查找
7.6性能影響
7.7老板/工人和其他線程模型
7.8范例,歸并排序——使用SMP分而治之
7.9線程局部存儲
7.10進程和線程優(yōu)先級和調度
7.11線程狀態(tài)
7.12缺陷和常見錯誤
7.13計時等待
7.14纖程
7.15總結
7.16練習
第8章線程同步
8.1線程同步的需要
8.2線程同步對象
8.3CRITICAL_SECTION對象
8.4保護共享變量的CRITICAL_SECTION
8.5范例:簡單生產者/消費者系統(tǒng)
8.6互斥
8.7信號量
8.8事件
8.9范例:生產者/消費者系統(tǒng)
8.10更多的互斥和CRITICAL_SECTION指南
8.11更多的互鎖函數
8.12內存管理性能考慮
8.13總結
8.14練習
第9章同步性能影響和指南
9.1同步性能影響..
9.2性能試驗的范例程序
9.3使用CS自旋計數器調節(jié)SMP性能
9.4信號量“扼殺”以減少線程競爭
9.5處理器親緣關系
9.6I/O完成端口
9.7性能指南和缺陷
9.8總結
9.9練習
第10章高級線程同步
10.1條件變量模型和安全屬性
10.2使用Signal()bjectAndWait
10.3范例:門限阻礙對象
10.4隊列對象
10.5范例:在多階段管道中使用隊列
10.6異步過程調用
10.7異步過程調用排隊
10.8可變等待狀態(tài)
10.9安全線程取消
10.10Pthreads用于程序可移植性
10.11線程堆棧和線程數量
10.12設計.調試和測試的提示
10.13訪問內核對象的其他方法
10.14總結
10.15練習
第11章進程間通信
11.1異步管道
11.2范例:使用異步管道的I/O重定向
11.3命名管道
11.4命名管道事務函數
11.5范例:客戶端/服務器命令行處理器
11.6關于客戶端/服務器命令行處理器的注釋
11.7郵槽
11.8管道和郵槽的創(chuàng)建.連接和命名
11.9范例:客戶端可以定位的服務器
11.10關于線程模型的注釋
11.11總結
11.12練習
第12章使用Windows套接字進行網絡編程
12.1Windows套接字
12.2套接字服務器函數
12.3套接字客戶端函數
12.4對比命名管道和套接字
12.5范例:套接字消息接收函數
12.6范例:基于套接字的客戶端
12.7范例:帶有新特性的基于套接字的服務器
12.8進程內服務器
12.9面向行的消息.DLL人口點和TLS
12.10范例:套接字消息的線程級安全DLL
12.11范例:可選的線程級安全DLL策略
12.12數據報
12.13Berkeley套接字與Windows套接字
12.14使用Windows套接字的重疊I/O
12.15WindowsSockets2
12.16總結
12.17練習
第13章Windows服務
13.1編寫Windows服務概覽
13.2main()函數
13.3ServiceMain()函數
13.4服務控制處理器
13.5范例:服務“包裝器”
13.6管理Windows服務
13.7小結:服務操作和管理
13.8范例,服務控制shell
13.9與服務共享內核對象
13.10事件日志
13.11有關調試服務的注意點
13.12總結
13.13練習
第14章異步輸入/輸出和完成端口
14.1Windows異步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.10I/O完成端口
14.11范例:使用I/O完成端口的服務器
14.12總結
14.13練習
第15章Windows對象安全
15.1安全屬性
15.2安全概覽:安全描述符
15.3安全描述符控制標記
15.4安全標識符
15.5管理ACI
15.6范例:NTFS文件的UNIX風格權限
15.7范例:初始化安全屬性
15.8讀取和更改安全描述符
15.9范例:讀取文件權限
15.10范例:更改文件權限
15.11內核和通信對象安全
15.12范例:進程及其線程安全
15.13其他安全屬性概覽
15.14總結
15.15練習
第16章Win64編程
16.1Win64進展
16.264位架構概覽
16.3Win64編程模型
16.4數據類型
16.5遺留代碼移植
16.6范例:移植sortMM(程序5-5)
16.7總結
16.8練習...
附錄A使用范例程序
附錄BWindows.UNIX和C庫的比較
附錄C性能結果
參考文獻