注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計程序設計綜合WINDOWS WDM設備驅動程序開發(fā)指南

WINDOWS WDM設備驅動程序開發(fā)指南

WINDOWS WDM設備驅動程序開發(fā)指南

定 價:¥56.00

作 者: (美)[C.坎特]Chris Cant著;孫義 等譯
出版社: 機械工業(yè)出版社
叢編項: 軟件開發(fā)技術叢書
標 簽: Windows

購買這本書可以去


ISBN: 9787111077091 出版時間: 2000-01-01 包裝: 精裝
開本: 26cm 頁數(shù): 404 字數(shù):  

內容簡介

  本書主要介紹Windows 98和Windows 2000新的驅動程序模型(WDM)。描述了WDM設備驅動程序的結構、功能和開發(fā)方法;通過實際的設備驅動程序例子,說明WDM設備驅動程序的實現(xiàn)技術、測試和調試方法;介紹了本書提供的一個調試軟件DebugPrint;說明如何在客戶驅動程序中使用USB驅動程序接口(USBDI)訪問USB設備,以及如何利用HID類驅動程序以標準方法訪問多種輸入設備。

作者簡介

暫缺《WINDOWS WDM設備驅動程序開發(fā)指南》作者簡介

圖書目錄

第1章&nbsp;&nbsp;引言</font><br></font><br>1.1 Windows驅動程序模型</font><br>1.1.1 WDM與NT式驅動程序</font><br>1.1.2 可用的驅動程序</font><br>1.1.3 本書配套光盤</font><br>1.1.4 設備驅動程序軟件工具</font><br>1.1.5 未討論的驅動程序類型</font><br>1.2 新的思維方式</font><br>1.2.1 設備驅動程序環(huán)境</font><br>1.2.2 術語與資源</font><br>1.3 Win32程序接口</font><br>1.3.1 基本I/O</font><br>1.3.2重疊的異步請求</font><br>l,3.3 環(huán)境</font><br>1.3.4 設備特定的限制</font><br>1.3.5 驅動程序的其他Win32訪問</font><br>1.4 小結</font><br></font><br>第2章&nbsp;&nbsp;概述</font><br></font><br>2.1 設備驅動程序的組成部分</font><br>2.1.1 驅動程序人口點和回調例程</font><br>2.1.2 分發(fā)例程</font><br>2.1.3 創(chuàng)建設備</font><br>2.1.4 硬件資源分配</font><br>2.1.5 調用其他驅動程序</font><br>2.1.6 串行硬件的訪問</font><br>2.1.7 訪問硬件</font><br>2.1.8 硬件問題</font><br>2.1.9 電源管理</font><br>2.1.10 WMI</font><br>2.1.11 NT事件報告</font><br>2.1.12 系統(tǒng)線程</font><br>2.2 設備驅動程序的類型</font><br>2.2.1 Windows概述</font><br>2.2.2 I/O請求處理</font><br>2.2.3 即插即用設備棧</font><br>2.2.4 標準總線驅動程序和類驅動程序</font><br>2.2.5 驅動程序棧舉例</font><br>2.3 驅動程序選擇</font><br>2.3.1 現(xiàn)成的驅動程序</font><br>2.3.2 使用標準驅動程序</font><br>2.3.3 操作系統(tǒng)</font><br>2.3.4 分層的設備驅動程序</font><br>2.3.5 單一驅動程序</font><br>2.3.6 建議的和可選的功能</font><br>2.4 WDM的合理性</font><br>2.4.1 一個核心模型</font><br>2.4.2 復雜性</font><br>2.4.3 即插即用與分層</font><br>2.4.4 功能范圍</font><br>2.4.5 開發(fā)環(huán)境</font><br>2.4.6 開發(fā)者支持</font><br>2.5 小結</font><br></font><br>第3章&nbsp;&nbsp;設備驅動程序設計</font><br></font><br>3.1 引言</font><br>3.2 驅動程序設計指南</font><br>3.2.1 文檔</font><br>3.2.2 好的設計</font><br>3.3 內核調用</font><br>3.3.1 內核宏</font><br>3.3.2 內核對象</font><br>3.3.3 驅動程序例程名稱</font><br>3.4 處理器模型</font><br>3.4.1 處理器模式</font><br>3.4.2 中斷級</font><br>3.5 使用內存</font><br>3.5.1 內存池</font><br>3.5.2 旁視列表</font><br>3.5.3 其他的內存考慮</font><br>3.5.4 訪問用戶應用程序內存</font><br>3.5.5 DMA</font><br>3.6 IRP處理</font><br>3.6.1 IRP參數(shù)</font><br>3.6.2 在驅動程序棧中處理IRP</font><br>3.7 小結</font><br></font><br>第4章&nbsp;&nbsp;WDM驅動程序環(huán)境</font><br></font><br>4.1 系統(tǒng)設置</font><br>4.1.1 DDK</font><br>4.1.2 本書配套光盤軟件的安裝</font><br>4.1.3 快捷方式</font><br>4.2 實用程序</font><br>4.2.1 DOS框</font><br>4.2.2 計算機管理控制臺</font><br>4.2.3 NT Devices小程序</font><br>4.2.4 硬件向導</font><br>4.2.5 注冊表編輯器</font><br>4.2.6 INF編輯器</font><br>4.2.7 WBEM</font><br>4.2.8 調試程序</font><br>4.2.9 NT和Windows 2000實用程序</font><br>4.2.10 本書配套光盤上的工具</font><br>4.3 驅動程序目標</font><br>4.4 驅動程序語言和庫</font><br>4.5 好的代碼</font><br>4.6 build實用程序</font><br>4.6.1 makefile</font><br>4.6.2 SOURCES</font><br>4.6.3 makefile文件</font><br>4.6.4 build目錄</font><br>4.6.5 其他build步驟</font><br>4.6.6 DIRS文件</font><br>4.7 VC++項目</font><br>4.7.1 Makefile構造環(huán)境</font><br>4.7.2 M8kCDfVf</font><br>4.7.3 目錄</font><br>4.7.4 常見任務</font><br>4.8 Wdml驅動程序代碼</font><br>4.8.1 編譯器選項</font><br>4.8.2 頭文件</font><br>4.8.3 驅動程序進入模塊</font><br>4.8.4 版本資源</font><br>4.8.5 訪問注冊表</font><br>4.8.6 UNICODESTRING結構</font><br>4.9 安裝Wdml</font><br>4.10 安裝詳細信息</font><br>4.10.1 INF文件</font><br>4.10.2 注冊表</font><br>4.10.3 Windows 2000對象</font><br>4.11 設備和驅動程序的管理</font><br>4.11.1 添加另一個設備</font><br>4.11.2 刪除設備</font><br>4.11.3 更新驅動程序</font><br>4.11.4 NT式驅動程序</font><br>4.12 小結</font><br></font><br>第5章&nbsp;&nbsp;設備接口</font><br></font><br>5.1 設備</font><br>5.1.1 設備訪問</font><br>5.1.2 后續(xù)的1/O</font><br>5.2 設備對象和設備擴展</font><br>5.3 設備對象的創(chuàng)建和刪除</font><br>5.3.1 創(chuàng)建設備</font><br>5.3.2 刪除設備</font><br>5.4 設備名</font><br>5.5 設備接口</font><br>5.6 Win32設備接回訪問</font><br>5.6.1 得到設備的接口名</font><br>5.6.2 運行WdmlTest</font><br>5.7 小結</font><br></font><br>第6章&nbsp;&nbsp;測試與調試</font><br></font><br>6.1 測試、測試、再測試</font><br>6.2 驅動程序測試</font><br>6.2.1 測試所有的函數(shù)是否都工作</font><br>6.2.2 Windows 2000t0Windows 98</font><br>6.2.3 多處理器</font><br>6.2.4 取消1/O</font><br>6.3 調試</font><br>6.4 調試技術</font><br>6.4.1 遞增式的開發(fā)</font><br>6.4.2 檢查版本</font><br>6.4.3 Windows 2000還是Windows 98</font><br>6.5 調試工具</font><br>6.5.1 Windows 2000事件</font><br>6.5.2 跟蹤工具</font><br>6.5.3 驅動程序驗證程序</font><br>6.5.4 調試程序</font><br>6.6 DebugPrint</font><br>6.6.1 使用 DebugPrlnt</font><br>6.6.2 使用DebugPrlnt Monitor</font><br>6.6.3 在驅動程序中使用DebugPrint</font><br>6.7 關于調試的說明</font><br>6.7.1 更新驅動程序</font><br>6.7.2 驅動程序在引導時失敗</font><br>6.7.3 驅動程序依賴性</font><br>6.7.4 未取消的IRP</font><br>6.8 錯誤檢查代碼</font><br>6.9 小結</font><br></font><br>第7章&nbsp;&nbsp;分發(fā)例程</font><br></font><br>7.1 分發(fā)例程IRP</font><br>7.2 I/O請求包</font><br>7.2.1 分發(fā)例程處理</font><br>7.2.2 可重人性</font><br>7.2.3 IRP處理</font><br>7.2.4 IRP完成</font><br>7.3 IRP結構</font><br>7.4 常用的IRP參數(shù)
7.4.1 “倉IJ建”IRP,IRO_MJ_CREATE</font><br>7.4.2 “關閉”IRp,IRP_MJ_CLOSE</font><br>7.4.3 “讀” IRP,IRP_MJ_READ</font><br>7.4.4 “寫” IRP,IRP_MJ_WRITE</font><br>7.4.5 IOCTL IRp,IRP_MJ_IOCTL</font><br>7.5 用戶緩沖區(qū)</font><br>7.5.1 緩沖 I/O</font><br>7.5.2 直接IIO</font><br>7.5.3 其他IIO方式</font><br>7.5.4 DeviceloControl緩沖區(qū)</font><br>7.6 Wdml分發(fā)例程</font><br>7.6.1 創(chuàng)建和關閉</font><br>7.6.2 寫</font><br>7.6.3 讀</font><br>7.6.4 IOCTL</font><br>7.6.5 系統(tǒng)控制</font><br>7.7 小結</font><br></font><br>第8章&nbsp;&nbsp;即插即用與設備棧</font><br></font><br>8.1 設計概述</font><br>8.1.1 設計目標</font><br>8.1.2 即插即用系統(tǒng)</font><br>8.2 即插即用消息</font><br>8.3 設備枚舉</font><br>8.3.1 固定的和可配置的設備</font><br>8.3.2 校舉</font><br>8.3.3 設備樹</font><br>8.4 設備棧</font><br>8.4.1 PnP支持與設備棧</font><br>8.4.2 設備對象</font><br>8.5 上沿</font><br>8.5.1 USB鍵盤例子</font><br>8.5.2 功能設備對象和物理設備對象</font><br>8.5.3 上沿定義</font><br>8.6 小結</font><br></font><br>第9章&nbsp;&nbsp;即插即用的實現(xiàn)</font><br></font><br></font><br>9.1 實現(xiàn)即插即用</font><br>9.1.1 添加和刪除設備</font><br>9.1.2 基本的PnP處理程序</font><br>9.1.3 沿設備棧向下傳遞不支持的IRP</font><br>9.1.4 PnP狀態(tài)和消息</font><br>9.1.5 狀態(tài)標志</font><br>9.1.6 保持IRP</font><br>9.1.7 打開的句柄</font><br>9.1.8 處理PnP IRP的時間</font><br>9.1.9 實現(xiàn)資源分配</font><br>9.2 測試Wdrm2</font><br>9.3 其他PnP IRP</font><br>9.3.1 IRH_MN_DEVICE_USAGE NOTIFICATION</font><br>9.3.2 IRP_MN_FILTER_RESOURCEREQUIREMENTS</font><br>9.3.3 IRP_MN_QUERY BUS INFORMATION</font><br>9.3.4 IRP_MN_QUERYCAPABILITIES</font><br>9.3.5 IRP_MN_QUERY_DEVICE RELATIONS</font><br>9.3.6 IRP_MN_QUERY_DEVICE TEXT</font><br>9.3.7 IRP_MN_QUERY_ID</font><br>9.3.8 IRP_MN_QUERY INTERFACE</font><br>9.3.9 IRP_MN_QUERY_PNP DEVICE STATE</font><br>9.3.10 IRP_MN_QUERY_RESOURCE REQUIREMENTS</font><br>9.3.11 IRP_MN_QUERY RESOURCES</font><br>9.3.12 IRP_MN_READ CONFIG</font><br>9.3.13 IRHMNSETLOCK</font><br>9.3.14 IRP_MN_WRITE CONFIG</font><br>9.4 PnP通知</font><br>9.4.1 Win32 PnP通知</font><br>9.4.2 設備驅動程序PnP通知</font><br>9.4.3 通知請求驅動程序交互</font><br>9.5 高級的即插即用</font><br>9.5.1 總線驅動程序</font><br>9.5.2 發(fā)送PnP IRP</font><br>9.5.3 設備屬性</font><br>9.6 小結</font><br></font><br>第10章&nbsp;&nbsp;電源管理</font><br></font><br>10.1 電源概述</font><br>10.1.1 ACPI</font><br>10.1.2 Win32電源管理</font><br>10.1.3 Wdln2Power應用程序</font><br>10.1.4 電池小類驅動程序</font><br>10.2 系統(tǒng)電源策略’</font><br>10.3 電源IRP</font><br>10.4 處理電源IRP</font><br>10.4.1 處理設備電源IRP</font><br>10.4.2 處理系統(tǒng)電源IRP</font><br>10.4.3 不處理電源 IRP</font><br>10.5 設備電源策略主</font><br>10.6 處理“設置電源” IRP</font><br>10.6.1 設置系統(tǒng)電源狀態(tài)</font><br>10.6.2 設置設備電源狀態(tài)</font><br>10.6.3 SetPowerstate</font><br>10.7 分發(fā)例程的電源處理</font><br>10.8 測試Wdm2電源功能</font><br>10.9 設備功能</font><br>10.10 高級電源管理</font><br>10.10.1 喚醒</font><br>10.10.2 電源順序</font><br>10.10.3 停止系統(tǒng)關閉事件</font><br>10.10.4 電源通知</font><br>10.10.5 檢測系統(tǒng)電源狀態(tài)變化</font><br>10.10.6 WMI支持</font><br>10.11 小結</font><br></font><br>第11章&nbsp;&nbsp;安裝</font><br></font><br>11.1 WDM驅動程序的安裝過程</font><br>11.2 INF文件</font><br>11.3 標準節(jié)</font><br>11.4 INF文件的節(jié)層次結構</font><br>11.4.1 Wdffil FreeINF</font><br>11.4.2 Inffidit</font><br>11.5 跨平臺和WDM INF文件</font><br>11.5.1 在Windows 2000中安裝Wdml</font><br>11.5.2 Windows 2000IR務注冊表項</font><br>11.6 查找驅動程序</font><br>11.6.1 硬件ID</font><br>11.6.2 兼容ID</font><br>11.6.3 重復校舉</font><br>11.7 NT式驅動程序的安裝</font><br>11.7.1 安裝過程</font><br>11.7.2 驅動程序的裝人順序</font><br>11.7.3 NT 4控制面板Devices小程序</font><br>11.7.4 Windows 2000設備管理</font><br>11.7.5 Windows 98設備管理</font><br>11.7.6 REG文件</font><br>11.8 在Windows 98中安裝NT式驅動程序</font><br>11.9 小結</font><br></font><br>第12章&nbsp;&nbsp;WMI</font><br></font><br>12.1 概述</font><br>12.1.1 WBEM模型</font><br>12.1.2 WDM提供者</font><br>12.2 一個WMI驅動程序</font><br>12.2.1 WMI構造環(huán)境</font><br>12.2.2 注冊為WMI數(shù)據(jù)提供者</font><br>12.2.3 處理系統(tǒng)控制IRP</font><br>12.2.4 QuefywmiReglnfo處理程序</font><br>12,2.5 QuerywmiDataBlock處理程序</font><br>12.2.6 SetwmiDataBlock處理程序</font><br>12.2.7 SetwmiDataltem處理程序</font><br>12.2.8 ExecutewmiMethod處理程序</font><br>12.2.9 觸發(fā)WMI事件</font><br>12.3 WMI運行</font><br>12.4 小結</font><br></font><br>第13章&nbsp;&nbsp;事件的報告</font><br></font><br>13.1 概述</font><br>13.2 消息文件</font><br>13.3 注冊為事件源</font><br>13.4 事件的產(chǎn)生</font><br>13.5 Wdm3事件的測試</font><br>13.6 小結</font><br></font><br>第14章&nbsp;&nbsp;DebugPrint</font><br></font><br></font><br>14.1 設計規(guī)范</font><br>14.2 設計實現(xiàn)</font><br>14.3 測試驅動程序代碼</font><br>14.3.1 系統(tǒng)線程</font><br>14.3.2 事件</font><br>14.3.3 同步</font><br>14.3.4 產(chǎn)生跟蹤事件</font><br>14.3.5 鏈表</font><br>14.3.6 最后的代碼</font><br>14.4 DebugPrint驅動程序</font><br>14.4.1 設計</font><br>14.4.2 DebugPrint設備</font><br>14.4.3 讀隊列</font><br>14.4.4 取消IRP</font><br>14.4.5 寫算法</font><br>14.4.6 讀算法</font><br>14.5 DebugPrlnt Monitor</font><br>14.5.1 設計</font><br>14.5.2 Win32工作者線程</font><br>14.5.3 DebugPrintEvent類</font><br>14.5.4 Win32重疊1/O</font><br>14.6 小結</font><br></font><br>第15章&nbsp;&nbsp;Wdmlo和 PHDIo驅動程序</font><br></font><br>15.1 Win32接口</font><br>15.1.1 IOCTL</font><br>15.1.2 命令</font><br>15.2 LPT打印機驅動程序的應用程序</font><br>15.2.1 并行端口</font><br>15.2.2 WdmoloTest</font><br>15.2.3 PHDIoTes卜</font><br>15.2.4 發(fā)出命令</font><br>15.2.5 使用中斷驅動的1/O寫數(shù)據(jù)</font><br>15.2.6 使用中斷驅動的I/O讀數(shù)據(jù)</font><br>15.3 測試Wdmlo</font><br>15.3.1 安裝Wdmlo</font><br>15.3.2 LogConfig節(jié)</font><br>15.3.3 運行WdmloTest</font><br>15.4 測試PHDIO</font><br>15.4.1 安裝PHDIO</font><br>15.4.2 運行PHDIOTest</font><br>15.5 Wdmlo和PHDIo的分析</font><br>15.5.1 使用哪一個</font><br>15.5.2 缺陷</font><br>15.6 小結</font><br></font><br>第16章&nbsp;&nbsp;硬件1/O IRP的排隊</font><br></font><br>16.1 硬件訪問</font><br>16.2 IRP隊列</font><br>16.2.1 設備隊列</font><br>16.2.2 Startlo例程</font><br>16.3 命令的處理</font><br>16.4 取消排隊的IRP</font><br>16.4.1 排隊IRP的取消</font><br>16.4.2 Wdmlo IRP取消策略</font><br>16.4.3 另一種取消策略</font><br>16.5 “精理” IRP的處理</font><br>16.6 測試、取消和清理</font><br>16.7 補充設備隊列</font><br>16.8 小結</font><br></font><br>第17章&nbsp;&nbsp;中斷驅動的I/O</font><br></font><br>17.1 中斷處理</font><br>17.1.1 中斷的性質</font><br>17.1.2 連接到中斷</font><br>17.2 Wdmlo讀與寫</font><br>17.3 中斷處理程序</font><br>17.4 延遲過程調用</font><br>17.4.1 使用基本的DPC</font><br>17.4.2 自定義DPC</font><br>17.5 定時器</font><br>17.5.1 1秒間隔定時器</font><br>17.5.2 Wdmlo超時</font><br>17.5.3 自定義定時器</font><br>17.6小結</font><br></font><br>第18章&nbsp;&nbsp;NT硬件</font><br></font><br>18.1 NT式驅動程序的構造</font><br>18.1.1 DDK問題</font><br>18.1.2 編譯環(huán)境</font><br>18.1.3 NT式驅動程序結構</font><br>18.2 設備的創(chuàng)建與刪除</font><br>18.3 資源分配</font><br>18.4 資源轉換</font><br>18.5 資源的查找</font><br>18.5.1 自動檢測的硬件</font><br>18.5.2 查詢可配置總線</font><br>18.5.3 最后的資源查找技術</font><br>18.6 小結</font><br></font><br>第19章&nbsp;&nbsp;WDM系統(tǒng)驅動程序</font><br></font><br>19.1 客戶驅動程序的編寫</font><br>19.2 過濾驅動程序</font><br>19.3 NT層次</font><br>19.4 小結</font><br></font><br>第20章&nbsp;&nbsp;通用串行總線</font><br></font><br>20.1 設備類</font><br>20.2 概述</font><br>20.2.1 Windows USB驅動程序接口</font><br>20.2.2 傳輸類型</font><br>20.3 USB低級結構</font><br>20.3.1 USB設備</font><br>20.3.2 USB信號</font><br>20.3.3 總線信號</font><br>20.3.4 低層協(xié)議</font><br>20.3.5 電源</font><br>20.4 USB設備框架</font><br>20.4.1 總線枚舉</font><br>20.4.2 標準控制事務</font><br>20.4.3 描述符</font><br>20.4.4 驅動程序安裝</font><br>20.4.5 USB類</font><br>20.4.6 新增功能</font><br>20.5 客戶驅動程序設計</font><br>20.5.1 端點類型選擇</font><br>20.5.2 等時設備</font><br>20.6 小結</font><br></font><br>第21章&nbsp;&nbsp;USB驅動程序接口</font><br></font><br>21I USB客戶驅動程序設計</font><br>21.1.1 UsbKbd的使用</font><br>21.1.2 USbKbd安裝</font><br>21.1.3 頭文件和庫</font><br>ZI.2 USBDI的IOCTL</font><br>21.2IURB</font><br>21.2.2 USBDI的調用</font><br>21.2.3 多個USBDI調用</font><br>21.3 訪問USB</font><br>21.3.1 初始化USB設備</font><br>21.3.2 發(fā)出 URB</font><br>21.3.3 選擇接口</font><br>21.3.4 其他初始化</font><br>21.3.5 取消配置的選擇</font><br>21.3.6 中斷傳輸</font><br>21.3.7 控制傳輸</font><br>21.3.8 其他問題</font><br>21.4 UsbKbd的測試</font><br>21.5 USBDI結構參考</font><br>21.6 USBDI URB參考</font><br>21.6.1 URB設置功能</font><br>21.6.2 URB傳輸功能</font><br>21.6.3 URB缺省管道功能</font><br>21.6.4 URB等時幀功能</font><br>21.7 小結</font><br></font><br>第22章&nbsp;&nbsp;人工輸入設備模型</font><br></font><br>22.1 HID概述</font><br>22.2 HID模型</font><br>22.2.1 報告</font><br>22.2.2 用法</font><br>22.2.3 獲取HID功能</font><br>22.3 HID模型表示</font><br>22.3.1 HID描述符</font><br>22.3.2 設備屬性</font><br>22.3.3 報告描述符</font><br>22.6 小結</font><br></font><br>第23章&nbsp;&nbsp;HID客戶</font><br></font><br>23.1 HID類驅動程序</font><br>23.1.1 HID類驅動程序特征</font><br>23.1.2 Windows HID客戶程序</font><br>23.1.3 頭文件</font><br>23.1.4 HID USB小驅動程序</font><br>23.1.5 USB啟動設備</font><br>23.2 用戶態(tài)HID客戶程序</font><br>23.2.1 查找HID設備</font><br>23.2.2 讀取HID功能</font><br>23.2.3 讀取輸入報告</font><br>23.2.4 發(fā)送輸出報告</font><br>23.2.5 其他用戶態(tài)HID客戶函數(shù)</font><br>23.2.6 運行HidKbdUser</font><br>23.3 內核態(tài)HID客戶程序</font><br>23.3.1 客戶程序類型</font><br>23.3.2 PnP通知</font><br>23.3.3 HidKbd設備</font><br>23.3.4 讀取HID功能</font><br>23.3.5 HidKbd設備的打開和關閉</font><br>23.3.6 數(shù)據(jù)的讀寫</font><br>23.3.7 其他HID類IOCTL</font><br>23.4 小結</font><br></font><br>附錄A 信息資源</font><br>附錄B PC99</font><br>附錄C 直接存儲器訪問</font><br>附錄D 詞匯表

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號