一般驅動程式範例
此目錄中的範例提供為您的裝置撰寫自定義驅動程式的起點。
範例 | 描述 |
---|---|
取消安全 IRP 佇列 | 示範如何使用IoCsqInitialize、IoCsqInsertIrp、IoCsqRemoveIrp、IoCsqRemoveNextIrp等取消安全佇列例程。 藉由使用這些例程,驅動程式開發人員不需要擔心 IRP 取消競爭條件。 |
KMDF Echo | 示範如何使用循序佇列來串行化提供給驅動程式的讀取和寫入要求。 |
UMDF1 Echo | 示範如何使用 UMDF 1 撰寫驅動程式,並採用最佳做法。 |
UMDF2 Echo | 示範如何使用 UMDF 2 來撰寫驅動程式,並採用最佳做法。 |
UMDF SocketEcho 範例 (UMDF 第 1 版) | 示範如何使用 UMDF 來撰寫驅動程式,並示範最佳做法。 |
硬體事件 | 示範核心模式驅動程式可以通知應用程式硬體事件的方式有兩種不同的方式。 其中一種方式使用事件型方法,另一種方式則使用以 IRP 為基礎的方法。 範例驅動程式會使用定時器 DPC 來模擬硬體事件。 |
非 PnP 驅動程式範例 | 示範如何使用內核模式驅動程序架構撰寫非 PnP 驅動程式。 |
IOCTL | 示範四種不同類型的IOCTL的使用方式(METHOD_IN_DIRECT、METHOD_OUT_DIRECT、METHOD_NEITHER和METHOD_BUFFERED)。 |
ObCallback | 示範如何使用已註冊的回呼來保護進程。 驅動程式會註冊在建立進程時呼叫的控件回呼。 |
PCIDRV | 此範例示範如何撰寫PCI裝置的KMDF驅動程式。 此範例適用於 Intel 82557/82558 型 PCI 乙太網路卡 (10/100) 和 Intel 相容。 |
核心計數器 | 示範核心模式效能連結庫的使用。 驅動程式不會控制任何硬體,它只會提供計數器。 程式代碼包含批注,以說明每個函式的功能。 |
PLX9x5x PCI 驅動程式 | 示範如何使用 Windows Driver Frameworks (WDF) 撰寫一般 PCI 裝置的驅動程式。 此驅動程式的目標硬體是 PLX9656/9653RDK-LITE 面板。 |
RegFltr | 示範如何撰寫登錄篩選驅動程式。 |
簡單媒體來源 | 示範如何撰寫自定義媒體來源和驅動程式套件。 |
系統 DMA | 示範 V3 系統 DMA 的使用方式。 它示範驅動程式如何使用 Windows 支援的系統 DMA 控制器,使用 DMA 將數據寫入硬體位置。 |
烤箱範例驅動程式 | 一系列反覆的範例,示範核心模式驅動程式架構 (KMDF) 和使用者模式驅動程序架構 (UMDF) 第 1 版 Windows 驅動程式開發的基本層面。 |
烤箱套件範例 | 模擬烤箱範例驅動程式的硬體優先與軟體優先安裝。 |
烤箱範例 (UMDF 第 2 版) | 使用使用者模式驅動程序架構 (UMDF) 第 2 版示範 Windows 驅動程式開發的基本層面的反覆系列範例。 |
EventDrv | 內核模式追蹤提供者和驅動程式。 驅動程式不會控制任何硬體;它只會產生追蹤事件。 其設計目的是示範在驅動程式中使用 Windows 事件追蹤 (ETW) API。 |
系統追蹤控制件 | 示範如何使用事件追蹤控制 API 從系統追蹤提供者收集事件。 |
Tracedrv | 針對軟體追蹤檢測的範例驅動程式。 |
UMDF 驅動程式基本架構 | 示範如何使用使用者模式驅動程式架構來撰寫最小的驅動程式,並顯示最佳做法。 |
適用於通用驅動程式的驅動程式套件安裝工具組 | 說明通用驅動程序設計的DCHU原則。 |