驱动开发中,AddDevice是如何被调用的
看了下DDK中带的过滤驱动(2600\src\storage\filters\diskperf\diskperf.c),在DriverObject->DriverExtension->AddDevice中指定了AddDevice函数入口。但是该DriverEntry中只做了MajorFunction入口的指定,没有创建任何device object。既没有自己的CDO或者PDO,也没有Attach到别的设备对象上,那这个驱动怎么可能被识别和被管理呢。它的AddDevice怎么会被调用到呢。
...全文
相关推荐
Windows设备驱动程序设计课件6.rar_Windows设备_windows 设备驱动程序_windows 驱动程序_设备驱
关于调用约定"部分讲解了不同函数调用约定(如stdcall、fastcall等)在驱动程序中的应用,这涉及到函数参数的传递方式和顺序,对于理解驱动程序的执行效率和内存管理有深远影响。
IRPMon:该工具的目标是监视所选设备对象或内核驱动程序收到的请求。 该工具与IrpTracker十分相似,但具有一些增强功能。 它支持Windows的64位版本(不使用内联挂钩,仅执行对驱动程序对象结构的修饰),并监视IRP,FastIo,AddDevice,DriverUnload和StartIo请求
AddDevice请求在驱动程序加载时调用,用于初始化设备;DriverUnload表示驱动程序即将卸载,是清理资源的时机;StartIo请求则是在设备准备执行I/O操作时触发。
驱动开发基础知识文档
此外,驱动程序中的“AddDevice”函数是设备初始化的关键部分,它在设备被添加到系统时被调用。
WDM Driver Structure
理解和掌握WDM驱动的构建块对于开发高质量的设备驱动至关重要,因为这直接影响到系统的性能、稳定性和兼容性。
Window设备驱动.pdf
Windows操作系统通过设备驱动程序与硬件设备通信,驱动程序作为硬件和操作系统之间的桥梁,确保硬件能够正确响应系统调用。



