驱动程序 对象 表示Windows 在内存中加载驱动程序后客户端驱动程序的实例。 驱动程序对象的完整源代码位于 Driver.h 和 Driver.c 中。Driver.h在讨论模板代码的详细信息之前,让我们看看与 KMDF 驱动程序开发相关的头文件(Driver.h)中的一些声明。Driver.h 包含这些文件,包含在 Windows 驱动程序工具包 (WDK) 中。
对于基于 KMDF 的客户端驱动程序,框架代表客户端驱动程序执行这些任务。 为了表示设备的 FDO,框架将创建框架设备对象。 但是,客户端驱动程序可以指定框架用于配置新对象的某些初始化参数。 当框架调用驱动程序的EvtDriverDeviceAdd实现时,将有机会提供给客户端驱动程序。 创建对象并将 FDO 附加到设备堆栈的顶部后,框架...
本主题介绍了如何使用内核模式驱动程序框架 (KMDF) 编写通用 Windows 驱动程序。 首先使用 Microsoft Visual Studio 模板,然后在单独的计算机上部署和安装驱动程序。
DRIVER_INITIALIZE DriverEntry; EVT_WDF_DRIVER_DEVICE_ADD KmdfHelloWorldEvtDeviceAdd; 使用以下代码编写 DriverEntry: C++ 复制 NTSTATUS DriverEntry( _In_ PDRIVER_OBJECT DriverObject, _In_ PUNICODE_STRING RegistryPath ) { // NTSTATUS variable to record success or failure NTSTATUS status = STATUS_SUC...
本主題描述如何使用 Kernel-Mode Driver Framework (KMDF) 撰寫通用 Windows 驅動程式。 您將從 Microsoft Visual Studio 範本開始,然後在不同的電腦上部署並安裝驅動程式。
如何使用 Kernel-Mode Driver Framework 撰寫 Windows 驅動程式(KMDF)。 您從 Microsoft Visual Studio 範本開始。
默认规则集 (KMDF) Default.sdv (Default 规则集) 指定在分析驱动程序时要使用的建议规则集。 DDI 用法规则集 (KMDF) 使用这些规则验证驱动程序是否正确使用 KMDF DDI。 IrpProcessing 规则集 (KMDF) 使用这些规则验证驱动程序是否正确处理 I/O 请求数据包 (IRP) 。 Irql 规则集 (KMDF) 使用这些规则验证驱动程...
1. 点击new project,选择Kernel Mode Driver(KMDF),输入名称及路径,点击OK即可创建出一个简单的KMDF驱动程序 2. 点击菜单栏目Project->Properties出现工程属性页Property Pages,点击Configuration Manager,可以选择目标平台(如Win32(即X86)\X64\ARM\ARM64)及Configuration(如Debug\Release),选择好后点击确定。(X86/X64...
KMDF 驅動程式中的每個事件回呼函式都必須藉由指定對應的角色類型來宣告。例如,下列程式碼範例顯示 EvtDriverDeviceAdd 回呼函式的函式角色類型宣告。 在此範例中,會呼叫回呼函 式myDriver_EvtDriverDeviceAdd。 函式角色類型EVT_WDF_DRIVER_DEVICE_ADD。
创建和生成驱动程序 在 Visual Studio 中创建项目和解决方案后,解决方案资源管理器窗口中将显示项目"KmdfHelloWorld"。在项目中添加 Driver.c 源文件,并实现两个基本事件回调函数,以编写驱动程序运行所需的最基本代码。此示例展示了驱动程序的基本概念,即一个“回调集合”,在初始化后等待系统在需要时...