• <td id="ae6ms"><li id="ae6ms"></li></td>
  • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
  • <table id="ae6ms"></table>
  • <td id="ae6ms"></td>
    <td id="ae6ms"></td>
  • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
  • <td id="ae6ms"></td>
  • <table id="ae6ms"><li id="ae6ms"></li></table>
  • <table id="ae6ms"></table>
    西西軟件園多重安全檢測下載網站、值得信賴的軟件下載站!
    西西首頁 常用軟件 軟件下載 安卓軟件 游戲下載 安卓游戲 MAC應用 驅動下載 安卓電視
    系統工具網絡工具媒體工具圖形圖像聊天工具應用軟件編程開發手機軟件安卓應用電腦安全字體素材

    windows核心編程

    PDF 中文完整版
    • windows核心編程PDF 中文完整版
    • 軟件大小:25.1M
    • 更新時間:2010-10-18 17:14
    • 軟件語言:中文
    • 軟件廠商:
    • 軟件類別:國產軟件 / 免費軟件 / 電子教程
    • 軟件等級:2級
    • 應用平臺:WinAll, WinXP
    • 官方網站:暫無
    好評:50%
    壞評:50%

    裝機必備軟件

    軟件介紹

    本書是講解Windows 操作系統內部機制的專著,作者從基本概念入手,全面系統地介紹了Windows的各種基本構件,如進程、線程、DLL和內存管理等,并列舉了大量應用程序,精辟地分析了構件的使用方法,為掌握Windows 編程技巧提供了一條有效的捷徑。對于不同水平的Windows 編程人員來說,本書都具有極好的參考價值。
    在開始介紹Microsoft Windows 的特性之前,必須首先了解Windows的各個函數是如何進行錯誤處理的。
    當調用一個Windows函數時,它首先要檢驗傳遞給它的的各個參數的有效性,然后再設法執行任務。如果傳遞了一個無效參數,或者由于某種原因無法執行這項操作,那么操作系統就會返回一個值,指明該函數在某種程度上運行失敗了。

    目 錄

    第一部分 程序員必讀
    第1章 對程序錯誤的處理 1
    1.1 定義自己的錯誤代碼 4
    1.2 ErrorShow示例應用程序 5
    第2章 Unicode 11
    2.1 字符集 11
    2.1.1 單字節與雙字節字符集 11
    2.1.2 Unicode:寬字節字符集 12
    2.2 為什么使用Unicode 13
    2.3 Windows 2000與Unicode 13
    2.4 Windows 98與Unicode 13
    2.5 Windows CE與Unicode 14
    2.6 需要注意的問題 14
    2.7 對COM的簡單說明 14
    2.8 如何編寫Unicode源代碼 15
    2.8.1 C運行期庫對Unicode的支持 15
    2.8.2 Windows定義的Unicode數據類型 17
    2.8.3 Windows中的Unicode函數和ANSI
    函數 17
    2.8.4 Windows字符串函數 19
    2.9 成為符合ANSI和Unicode的應用程序 19
    2.9.1 Windows字符串函數 19
    2.9.2 資源 22
    2.9.3 確定文本是ANSI文本還是Unicode
    文本 22
    2.9.4 在Unicode與ANSI之間轉換字符串 23
    第3章 內核對象 27
    3.1 什么是內核對象 27
    3.1.1 內核對象的使用計數 27
    3.1.2 安全性 28
    3.2 進程的內核對象句柄表 30
    3.2.1 創建內核對象 30
    3.2.2 關閉內核對象 32
    3.3 跨越進程邊界共享內核對象 32
    3.3.1 對象句柄的繼承性 32
    3.3.2 改變句柄的標志 35
    3.3.3 命名對象 36
    3.3.4 終端服務器的名字空間 39
    3.3.5 復制對象句柄 39
    第二部分 編程的具體方法
    第4章 進程 45
    4.1 編寫第一個Windows應用程序 46
    4.1.1 進程的實例句柄 49
    4.1.2 進程的前一個實例句柄 50
    4.1.3 進程的命令行 50
    4.1.4 進程的環境變量 51
    4.1.5 進程的親緣性 54
    4.1.6 進程的錯誤模式 54
    4.1.7 進程的當前驅動器和目錄 54
    4.1.8 進程的當前目錄 55
    4.1.9 系統版本 56
    4.2 CreateProcess函數 58
    4.2.1 pszApplicationName和
    pszCommandLine 59
    4.2.2 psa Process、psa Thread和
    binherit Handles 60
    4.2.3 fdwCreate 62
    4.2.4 pvEnvironment 64
    4.2.5 pszCurDir 64
    4.2.6 psiStartInfo 64
    4.2.7 ppiProcInfo 67
    4.3 終止進程的運行 69
    4.3.1 主線程的進入點函數返回 69
    4.3.2 ExitProcess函數 69
    4.3.3 TerminateProcess函數 70
    4.3.4 進程終止運行時出現的情況 71
    4.4 子進程 72
    4.5 枚舉系統中運行的進程 73
    第5章 作業 91
    5.1 對作業進程的限制 93
    5.2 將進程放入作業 99
    5.3 終止作業中所有進程的運行 99
    5.4 查詢作業統計信息 100
    5.5 作業通知信息 103
    5.6 JobLab示例應用程序 104
    第6章 線程的基礎知識 121
    6.1 何時創建線程 121
    6.2 何時不能創建線程 122
    6.3 編寫第一個線程函數 123
    6.4 CreateThread函數 124
    6.4.1 psa 124
    6.4.2 cbStack 124
    6.4.3 pfnStartAddr和pvParam 125
    6.4.4 fdwCreate 126
    6.4.5 pdwThreadID 126
    6.5 終止線程的運行 127
    6.5.1 線程函數返回 127
    6.5.2 ExitThread函數 127
    6.5.3 TerminateThread函數 127
    6.5.4 在進程終止運行時撤消線程 128
    6.5.5 線程終止運行時發生的操作 128
    6.6 線程的一些性質 129
    6.7 C/C++運行期庫的考慮 131
    6.7.1 Oops—錯誤地調用了Create Thread 138
    6.7.2 不應該調用的C/C++運行期庫函數 138
    6.8 對自己的ID概念應該有所了解 139
    第7章 線程的調度、優先級和親緣性 142
    7.1 暫停和恢復線程的運行 143
    7.2 暫停和恢復進程的運行 144
    7.3 睡眠方式 145
    7.4 轉換到另一個線程 145
    7.5 線程的運行時間 146
    7.6 運用環境結構 148
    7.7 線程的優先級 152
    7.8 對優先級的抽象說明 153
    7.9 程序的優先級 156
    7.9.1 動態提高線程的優先級等級 158
    7.9.2 為前臺進程調整調度程序 159
    7.9.3 Scheduling Lab示例應用程序 160
    7.10 親緣性 167
    第8章 用戶方式中線程的同步 172
    8.1 原子訪問:互鎖的函數家族 172
    8.2 高速緩存行 177
    8.3 高級線程同步 178
    8.4 關鍵代碼段 180
    8.4.1 關鍵代碼段準確的描述 182
    8.4.2 關鍵代碼段與循環鎖 185
    8.4.3 關鍵代碼段與錯誤處理 185
    8.4.4 非常有用的提示和技巧 186
    第9章 線程與內核對象的同步 190
    9.1 等待函數 191
    9.2 成功等待的副作用 194
    9.3 事件內核對象 195
    9.4 等待定時器內核對象 204
    9.4.1 讓等待定時器給APC項排隊 207
    9.4.2 定時器的松散特性 209
    9.5 信標內核對象 210
    9.6 互斥對象內核對象 211
    9.6.1 釋放問題 213
    9.6.2 互斥對象與關鍵代碼段的比較 214
    9.6.3 Queue示例應用程序 214
    9.7 線程同步對象速查表 223
    9.8 其他的線程同步函數 224
    9.8.1 異步設備I/O 224
    9.8.2 WaitForInputIdle 224
    9.8.3 MsgWaitForMultipleObjects (Ex) 225
    9.8.4 WaitForDebugEvent 225
    9.8.5 SingleObjectAndWait 226
    第10章 線程同步工具包 228
    10.1 實現關鍵代碼段:Optex 228
    10.2 創建線程安全的數據類型和反信標 239
    10.3 單個寫入程序/多個閱讀程序的保護 251
    10.4 實現一個WaitForMultipleExpressions
    函數 259
    第11章 線程池的使用 274
    11.1 方案1:異步調用函數 275
    11.2 方案2:按規定的時間間隔調用函數 277
    11.3 方案3:當單個內核對象變為已通知狀態
    時調用函數 283
    11.4 方案4:當異步I/O請求完成運行時調用
    函數 285
    第12章 纖程 287
    12.1 纖程的操作 287
    12.2 Counter示例應用程序 289
    第三部分 內 存 管 理
    第13章 Windows的內存結構 299
    13.1 進程的虛擬地址空間 299
    13.2 虛擬地址空間如何分區 300
    13.2.1 NuLL 指針分配的分區—適用于
    Windows 2000和Windows 98 300
    13.2.2 MS-DOS/16位Windows 應用程序兼容
    分區—僅適用于Windows 98 301
    13.2.3 用戶方式分區—適用于Windows 2000
    和Windows 98 301
    13.2.4 64 KB禁止進入的分區—僅適用
    于Windows 2000 302
    13.2.5 共享的MMF分區—僅適用于
    Windows 98 303
    13.2.6 內核方式分區—適用于Windows
    2000和Windows 98 303
    13.3 地址空間中的區域 303
    13.4 提交地址空間區域中的物理存儲器 304
    13.5 物理存儲器與頁文件 304
    13.6 保護屬性 307
    13.6.1 Copy-On-Write 訪問 308
    13.6.2 特殊的訪問保護屬性的標志 309
    13.7 綜合使用所有的元素 309
    13.7.1 區域的內部情況 312
    13.7.2 與Windows 98地址空間的差別 315
    13.8 數據對齊的重要性 319
    第14章 虛擬內存 323
    14.1 系統信息 323
    14.2 虛擬內存的狀態 330
    14.3 確定地址空間的狀態 336
    14.3.1 VMQuery函數 337
    14.3.2 虛擬內存表示例應用程序 343
    第15章 在應用程序中使用虛擬內存 354
    15.1 在地址空間中保留一個區域 354
    15.2 在保留區域中的提交存儲器 355
    15.3 同時進行區域的保留和內存的提交 356
    15.4 何時提交物理存儲器 357
    15.5 回收虛擬內存和釋放地址空間區域 358
    15.5.1 何時回收物理存儲器 359
    15.5.2 虛擬內存分配的示例應用程序 360
    15.6 改變保護屬性 368
    15.7 清除物理存儲器的內容 369
    15.8 地址窗口擴展—適用于
    Windows 2000 372
    第16章 線程的堆棧 385
    16.1 Windows 98下的線程堆棧 387
    16.2 C/C++運行期庫的堆棧檢查函數 389
    16.3 Summation示例應用程序 390
    第17章 內存映射文件 397
    17.1 內存映射的可執行文件和DLL
    文件 397
    17.1.1 可執行文件或DLL的多個實例
    不能共享靜態數據 398
    17.1.2 在可執行文件或DLL的多個實
    例之間共享靜態數據 400
    17.1.3 AppInst示例應用程序 404
    17.2 內存映射數據文件 409
    17.2.1 方法 1:一個文件,一個緩存 409
    17.2.2 方法 2:兩個文件,一個緩存 409
    17.2.3 方法 3:一個文件,兩個緩存 410
    17.2.4 方法 4:一個文件,零緩存 410
    17.3 使用內存映射文件 410
    17.3.1 步驟 1:創建或打開文件內核
    對象 411
    17.3.2 步驟 2:創建一個文件映射內核
    對象 412
    17.3.3 步驟 3:將文件數據映射到進程
    的地址空間 414
    17.3.4 步驟4:從進程的地址空間中撤消
    文件數據的映像 416
    17.3.5 步驟 5和步驟 6:關閉文件映射對象
    和文件對象 417
    17.3.6 文件倒序示例應用程序 418
    17.4 使用內存映射文件來處理大文件 426
    17.5 內存映射文件與數據視圖的相關性 427
    17.6 設定內存映射文件的基地址 428
    17.7 實現內存映射文件的具體方法 429
    17.8 使用內存映射文件在進程之間共享
    數據 431
    17.9 頁文件支持的內存映射文件 431
    17.10 稀疏提交的內存映射文件 438
    第18章 堆棧 451
    18.1 進程的默認堆棧 451
    18.2 為什么要創建輔助堆棧 452
    18.2.1 保護組件 452
    18.2.2 更有效的內存管理 453
    18.2.3 進行本地訪問 453
    18.2.4 減少線程同步的開銷 453
    18.2.5 迅速釋放堆棧 453
    18.3 如何創建輔助堆棧 454
    18.3.1 從堆棧中分配內存塊 455
    18.3.2 改變內存塊的大小 456
    18.3.3 了解內存塊的大小 456
    18.3.4 釋放內存塊 457
    18.3.5 撤消堆棧 457
    18.3.6 用C++程序來使用堆棧 457
    18.4 其他堆棧函數 460
    第四部分 動態鏈接庫
    第19章 DLL基礎 463
    19.1 DLL與進程的地址空間 464
    19.2 DLL的總體運行情況 465
    19.3 創建DLL模塊 467
    19.3.1 輸出的真正含義是什么 469
    19.3.2 創建用于非Visual C++工具
    的DLL 471
    19.4 創建可執行模塊 472
    19.5 運行可執行模塊 474
    第20章 DLL的高級操作技術 477
    20.1 DLL模塊的顯式加載和
    符號鏈接 477
    20.1.1 顯式加載DLL模塊 478
    20.1.2 顯式卸載DLL模塊 479
    20.1.3 顯式鏈接到一個輸出符號 480
    20.2 DLL的進入點函數 481
    20.2.1 DLL_PROCESS_ATTACH通知 482
    20.2.2 DLL_PROCESS_DETACH通知 483
    20.2.3 DLL_THREAD_ATTACH通知 485
    20.2.4 DLL_THREAD_DETACH通知 485
    20.2.5 順序調用DllMain 486
    20.2.6 DllMain與C/C++運行期庫 488
    20.3 延遲加載DLL 489
    20.4 函數轉發器 499
    20.5 已知的DLL 499
    20.6 DLL轉移 500
    20.7 改變模塊的位置 501
    20.8 綁定模塊 506
    第21章 線程本地存儲器 509
    21.1 動態TLS 509
    21.2 靜態TLS 513
    第22章 插入DLL和掛接API 515
    22.1 插入DLL:一個例子 515
    22.2 使用注冊表來插入DLL 517
    22.3 使用Windows掛鉤來插入DLL 518
    22.4 使用遠程線程來插入DLL 531
    22.4.1 Inject Library 示例應用程序 534
    22.4.2 Image Walk DLL 541
    22.5 使用特洛伊DLL來插入DLL 544
    22.6 將DLL作為調試程序來插入 544
    22.7 用Windows 98上的內存映射文件
    插入代碼 544
    22.8 用CreateProcess插入代碼 544
    22.9 掛接API的一個示例 545
    22.9.1 通過改寫代碼來掛接API 546
    22.9.2 通過操作模塊的輸入節來掛接API 546
    22.9.3 LastMsgBoxInfo示例應用程序 549
    第五部分 結構化異常處理
    第23章 結束處理程序 565
    23.1 通過例子理解結束處理程序 566
    23.2 Funcenstein1 566
    23.3 Funcenstein2 566
    23.4 Funcenstein3 568
    23.5 Funcfurter1 568
    23.6 突擊測驗:FuncaDoodleDoo 569
    23.7 Funcenstein4 570
    23.8 Funcarama1 571
    23.9 Funcarama2 572
    23.10 Funcarama3 572
    23.11 Funcarama4:最終的邊界 573
    23.12 關于finally塊的說明 574
    23.13 Funcfurter2 575
    23.14 SEH結束處理示例程序 576
    第24章 異常處理程序和軟件異常 578
    24.1 通過例子理解異常過濾器和異常處理
    程序 578
    24.1.1 Funcmeister1 578
    24.1.2 Funcmeister2 579
    24.2 EXCEPTION_EXECUTE_HANDLER 580
    24.2.1 一些有用的例子 581
    24.2.2 全局展開 583
    24.2.3 暫停全局展開 585
    24.3 EXCEPTION_CONTINUE_
    EXECUTION 586
    24.4 EXCEPTION_CONTINUE_
    SEARCH 588
    24.5 Get Exception Code 589
    24.6 Get Exception Information 592
    24.7 軟件異常 595
    第25章 未處理異常和C++異常 598
    25.1 即時調試 600
    25.2 關閉異常消息框 601
    25.2.1 強制進程終止運行 601
    25.2.2 包裝一個線程函數 601
    25.2.3 包裝所有的線程函數 601
    25.2.4 自動調用調試程序 602
    25.3 程序員自己調用UnhandledException
    Filter 602
    25.4 UnhandledExceptionFilter函數的一些
    細節 603
    25.5 異常與調試程序 604
    25.6 C++異常與結構性異常的對比 618
    第六部分 窗 口
    第26章 窗口消息 623
    26.1 線程的消息隊列 623
    26.2 將消息發送到線程的消息隊列中 625
    26.3 向窗口發送消息 626
    26.4 喚醒一個線程 630
    26.4.1 隊列狀態標志 630
    26.4.2 從線程的隊列中提取消息的
    算法 631
    26.4.3 利用內核對象或隊列狀態標
    志喚醒線程 634
    26.5 通過消息發送數據 636
    26.6 Windows如何處理ANSI/Unicode
    字符和字符串 642
    第27章 硬件輸入模型和局部輸入狀態 645
    27.1 原始輸入線程 645
    27.2 局部輸入狀態 646
    27.2.1 鍵盤輸入與焦點 647
    27.2.2 鼠標光標管理 649
    27.3 將虛擬輸入隊列同局部輸入狀態掛接
    在一起 651
    27.3.1 LISLab 示例程序 652
    27.3.2 LISWatch 示例程序 666
    第七部分 附 錄
    附錄A 建立環境 675
    附錄B 消息分流器、子控件宏和API宏 686

    軟件截圖

    windows核心編程 PDF 中文完整版

      其他版本下載

      熱門評論

      最新評論

      第 2 樓 河北唐山唐山工業職業技術學院 網友 客人 發表于: 2010/12/31 16:57:38

      支持( 0 ) 蓋樓(回復)

      第 1 樓 遼寧省鞍山市海城市 網友 客人 發表于: 2010/10/4 9:20:34

      支持( 0 ) 蓋樓(回復)

      發表評論 查看所有評論(2)

      昵稱:
      表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
      字數: 0/500 (您的評論需要經過審核才能顯示)

      下載幫助下載幫助西西破解版軟件均來自互聯網, 如有侵犯您的版權, 請與我們聯系。

      TOP
      軟件下載
      女人让男人桶30分钟免费视频,女人张开腿让男人桶个爽,一进一出又大又粗爽视频
    • <td id="ae6ms"><li id="ae6ms"></li></td>
    • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
    • <table id="ae6ms"></table>
    • <td id="ae6ms"></td>
      <td id="ae6ms"></td>
    • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
    • <td id="ae6ms"></td>
    • <table id="ae6ms"><li id="ae6ms"></li></table>
    • <table id="ae6ms"></table>