Windows驱动开发学习
YJFeiii
这个作者很懒,什么都没留下…
展开
-
Windows驱动开发笔记(1)---驱动程序结构
Windows下驱动程序主要分为两种,被动加载的NT驱动和动态加载的可支持热插拔的WDM驱动。本文主要描述和记录驱动程序的入口函数和卸载例程以及IRP派遣函数。1)Windows驱动中涉及的几个重要数据结构(1)驱动对象结构体,即DRIVER_OBJECT结构体:每个驱动程序会有唯一的一个DRIVER_OBJECT结构体与之对应,并且该对象在驱动加载时由内核中的对象管理器创建,并将该参数传...原创 2019-06-25 20:14:05 · 679 阅读 · 0 评论 -
Windows驱动开发笔记(2)---驱动程序结构与KMDF驱动实例分析
KMDF驱动程序模型:一个即插即用的KMDF驱动程序应该包含一个DriverEntry例程一个EvtDriverDeviceAdd例程一个或者多个I/O队列一个或者多个I/O回调例程支持即插即用和电源管理回调例程支持的WMI回调例程其他回调例程,如对象清除,中断例程、DMA例程等1.DriverEntry例程DriverEntry例程负责驱动程序的初始化,类似linux下的m...原创 2019-06-26 15:02:13 · 1251 阅读 · 0 评论 -
Windows驱动开发笔记(3)---应用程序和驱动程序之间通信
在Windows下,应用程序和驱动程序通信的过程是:应用程序通过CreatFile函数打开设备然后可以使用DeviceControl完成和KMDF的双向通信使用ReadFile完成从KMDF读数据使用WriteFile完成写数据给KMDF应用程序退出时,使用CloseHandle关闭设备1.打开设备应用程序打开设备可以通过两种方式进行:使用GUID接口或者符号链接名。应用程序获得...原创 2019-07-13 09:38:32 · 1497 阅读 · 0 评论