出版時間:2009-4 出版社:電子工業(yè)出版社 作者:武安河 頁數(shù):350 字?jǐn)?shù):413000
Tag標(biāo)簽:無
內(nèi)容概要
Windows最新的WDF驅(qū)動程序框架,包括KMDF和UMDF,KMDF是WDM的繼續(xù)。本書主要介紹KMDF設(shè)備驅(qū)動程序的原理及編程方法;詳細介紹KMDF對象及程序基本框架,KMDF和應(yīng)用程序之間的通信、即插即用和電源管理的編程技術(shù),過濾器驅(qū)動程序,KMDF訪問硬件設(shè)備、處理硬件中斷、實現(xiàn)DMA操作的編程技術(shù),以及USB接口和PCI接口設(shè)備驅(qū)動程序KMDF的開發(fā)。還對UMDF設(shè)備驅(qū)動程序作了編程入門介紹。本書附有13個典型的編程實例,便于讀者學(xué)習(xí)和掌握。 本書既適合具有一定計算機硬件及C/C++語言基礎(chǔ)的計算機應(yīng)用開發(fā)人員閱讀,也適合作為計算機應(yīng)用開發(fā)人員和高等院校學(xué)生的實用參考書。
書籍目錄
第1章 Windows 2000和WDM驅(qū)動程序 1.1 Windows 2000組件概述 1.2 Windows 2000中的驅(qū)動程序種類 1.3 WDM驅(qū)動程序特點 1.2.1 內(nèi)核模式驅(qū)動程序的設(shè)計目標(biāo) 1.3.2 WDM驅(qū)動程序模型 1.3.3 設(shè)備和驅(qū)動程序的層次結(jié)構(gòu) 1.3.4 中斷級別IRQL 1.3.5 設(shè)備接口 第2章 KMDF驅(qū)動程序框架 2.1 KMDF對象 2.1.1 對象概念 2.1.2 基本對象 2.2 KMDF程序結(jié)構(gòu) 2.2.1 DriverEntry例程 2.2.2 EvtDriverDeviceAdd例程 2.2.3 I/O處理例程 2.2.4 即插即用和電源管理例程 2.3 CharSample實例 第3章 基本對象 3.1 WDFREQUEST對象 3.1.1 WDFREQUEST對象函數(shù) 3.1.2 I/O請求基本操作 3.2 WDFQUEUE對象 3.2.1 WDFQUEUE對象函數(shù) 3.2.2 隊列編程 3.3 WDFTIMER對象 3.4 WDFDPC對象 3.5 WDFWORKITEM對象 3.6 WDFMEMORY對象 3.7 數(shù)據(jù)同步訪問 3.7.1 WDFSPINLOCK對象 3.7.2 WDFWAITLOCK對象 3.8 字符串操作 3.8.1 字符串格式 3.8.2 WDFSTRING對象 3.8.3 串處理函數(shù) 3.9 QueueSample實例 第4章 KMDF驅(qū)動程序編程入門 4.1 建立KMDF編程環(huán)境 4.2 創(chuàng)建KMDF驅(qū)動程序 4.3 生成KMDF驅(qū)動程序 4.4 安裝KMDF驅(qū)動程序 4.5 RegSample實例 4.5.1 RegSample驅(qū)動程序 4.5.2 Win32 Console應(yīng)用程序 4.5.3 MFC應(yīng)用程序 4.6 調(diào)試說明 第5章 KMDF驅(qū)動程序和應(yīng)用程序之間的通信 5.1 應(yīng)用程序?qū)︱?qū)動程序的通信 5.1.1 打開設(shè)備 5.1.2 關(guān)閉設(shè)備 5.1.3 DeviceIoControl函數(shù)調(diào)用 5.1.4 ReadFile和WriteFile函數(shù)調(diào)用 5.1.5 IOSample實例 5.2 驅(qū)動程序?qū)?yīng)用程序的通信 5.2.1 DeviceIoControl異步完成 5.2.2 WIN32事件通知 5.3 驅(qū)動程序?qū)?yīng)用程序通信實例 5.3.1 異步完成實例CancelSample 5.3.2 事件通知實例EventSample 第6章 即插即用例程 6.1 即插即用簡介 6.1.1 PnP組件 6.1.2 即插即用例程 6.1.3 例程的加載和卸載順序 6.2 PnpPowerSample實例 第7章 電源管理 7.1 電源管理簡介 7.1.1 系統(tǒng)電源狀態(tài)與設(shè)備電源狀態(tài) 7.1.2 電源管理控制標(biāo)志位 7.1.3 設(shè)備的喚醒特征和空閑檢測 7.2 電源管理編程 7.2.1 電源管理基本例程 7.2.2 設(shè)備喚醒 7.2.3 空閑檢測 7.3 IdleSample實例 第8章 KMDF過濾器驅(qū)動程序 8.1 KMDF過濾器驅(qū)動程序的編程 8.2 KMDF過濾器驅(qū)動程序安裝 8.3 FilterSample實例 第9章 USB設(shè)備開發(fā) 9.1 USB接口概述 9.1.1 USB設(shè)備的配置、接口和端點 9.1.2 USB數(shù)據(jù)的傳輸方式 9.1.3 USB描述符 9.1.4 標(biāo)準(zhǔn)設(shè)備請求 9.2 USB編程對象 9.2.1 WDFUSBDEVICE對象 9.2.2 WDFUSBINTERFACE對象 9.2.3 WDFUSBPIPE對象 9.3 USB編程 9.3.1 激活配置與中止配置 9.3.2 同步操作 9.3.3 異步操作 9.4 USBSample實例 第10章 PCI設(shè)備驅(qū)動程序開發(fā) 10.1 硬件訪問 10.1.1 I/O訪問 10.1.2 存儲器訪問 10.1.3 硬件訪問編程 10.2 中斷處理 10.2.1 WDFINTERRUPT對象 10.2.2 中斷處理編程 10.3 DMA傳輸 10.3.1 DMA編程對象 10.3.2 DMA傳輸編程 10.4 PCISample實例 10.5 DMASample實例 第11章 UMDF驅(qū)動程序編程入門 11.1 UMDF編程環(huán)境 11.2 創(chuàng)建UMDF驅(qū)動程序 11.3 生成UMDF驅(qū)動程序 11.4 安裝UMDF驅(qū)動程序 11.5 UMDFSample實例 11.5.1 驅(qū)動程序 11.5.2 Win32 Console應(yīng)用程序 第12章 WinDbg使用介紹 12.1 用WinDbg調(diào)試KMDF 12.1.1 目標(biāo)機的設(shè)置 12.1.2 主控機的路徑設(shè)置 12.1.3 建立連接 12.1.4 加載符號文件 12.1.5 設(shè)置斷點 12.1.6 斷點執(zhí)行 12.1.7 下載符號包 12.2 用WinDbg調(diào)試UMDF 12.2.1 路徑設(shè)置 12.2.2 鏈接進程 12.2.3 設(shè)置斷點 12.2.4 使能UMDF加載和初始化代碼調(diào)試 參考文獻
章節(jié)摘錄
第1章 Windows 2000和WDM驅(qū)動程序 雖然本書介紹KMDF的編程,但是KMDF是WDM的繼續(xù),KMDF構(gòu)建在WDM之上。對于一些Windows驅(qū)動程序的基本概念,初學(xué)者仍需要了解。所以,保留了參考文獻(即《Windows 2000/XP WDM設(shè)備驅(qū)動程序開發(fā)(第2版)》一書)的第l章,供初學(xué)者閱讀?! ?.1 Windows 2000組件概述 圖1-1顯示了Windows 2000操作系統(tǒng)環(huán)境的主要組件。在Windows 2000操作系統(tǒng)環(huán)境中,一部分組件運行在用戶模式下,其他的則運行在內(nèi)核模式下?! indows 2000操作系統(tǒng)包括許多內(nèi)核模式組件,它們被精心地定義為功能相互獨立的組件。對內(nèi)核模式驅(qū)動程序設(shè)計者來說,最感興趣的就是內(nèi)核、I/O管理器、即插即用(PIlP)管理器、電源管理器、硬件抽象層、配置管理器、內(nèi)存管理器、運行支持和進程結(jié)構(gòu)組件。對另一些設(shè)計者來說,感興趣的其他組件可能還包括對象管理器和安全引用監(jiān)視器。
編輯推薦
本書配套光盤中含有書中所有實例的驅(qū)動程序和應(yīng)用程序的全部源代碼,以及生成的驅(qū)動程序和可執(zhí)行的應(yīng)用程序。除了USBSampIe和PCISample實例需要硬件設(shè)備的支持才能運行外,其他11個實例均可在Windows XP和Vista下運行?! ”緯攸c: 編程入門:詳細的步驟介紹,初學(xué)者的良師益友。 應(yīng)用實例:對程序作了必要的注釋,了解驅(qū)動程序編程的捷徑?! 『唵螌嵱茫篕MDF的編程非常簡單,Windows硬件開發(fā)工程師必須掌握?! ±斫馍羁蹋汗P者精通Windows設(shè)備驅(qū)動程序開發(fā)和硬件開發(fā),所有實例均為自己創(chuàng)造, 每個實例都有其獨特意義,筆者用實例詮釋自己對KMDF的理解和認識。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
Windows設(shè)備驅(qū)動程序WDF開發(fā) PDF格式下載