微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 一个驱动程序可以建立多个对象吗?

一个驱动程序可以建立多个对象吗?

时间:10-02 整理:3721RD 点击:
我要写一个监视串口的过滤驱动.从思路是这样的,在驱动中建立一个过滤串口设备对象将其挂在串口驱动上,再建立一个控制设备对象(用于给应用程序发送过滤串口设备对象监视得到的数据)不挂接,驱动程序中有DriverObject->MajorFunction[IRP_MJ_READ] = ComSpy_Read等派遣例程;
1.这样一个驱动程序中建立2个设备对象可不可以.
2.我想知道的是当有别的应用程序向串口读写经过我的过滤程序时和我用ReadFile,WriteFile向读写驱动程序中控制设备对象时是不是都触发使用驱动程序中相同的派遣例程,例如:向串读和我用ReadFile读时是不是都会调用ComSpy_Read(注意:一个是针对过滤串口设备对象,而另一个是针对控制设备对象).
初学驱动,原理还不太明白,希望有达人能帮助一下!最好能说说其中的原理及过程让我能加深理解一下驱动开发!

可以在一个驱动中创建多个设备对象,多个设备对象构建成设备对象链表
DRIVER_OBJECT的成员变量DeviceObject指向驱动创建设备对象链表的开始位置

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top