阅读:1212回复:5
关于上层驱动的资源分配问题---!!!!!!!!!!!!一个上层驱动 在处理pnp的 IRP_MN_START_DEVICE 时,是不是必须 给设备分配资源?? 处理如下之类的(resource->Type): CmResourceTypePort: CmResourceTypeMemory: 是不是也有一些地方 不需要考虑这个?? |
|
|
沙发#
发布于:2004-03-25 17:30
不太清楚你的意思. 如果不是 pnp设备会怎样?? 过程是怎样的? 应该怎么处理? 我收到了irp_mn_query_legacy_bus_information先。 如何处理应该? |
|
|
板凳#
发布于:2003-01-20 11:33
在加载一个驱动的时候,系统总会以发下如下顺序的irp:
IRP_MN_QUERY_RESOURCE_REQUIREMENTS, 查询设备的资源需求,由Bus Driver填写设备需要的资源。 IRP_MN_FILTER_RESOURCE_REQUIREMENTS, 给设备一个修改设备资源的机会,如果你在这里发现Bus Driver分配给你的资源有问题的话,那就可以在此作一个修改。 IRP_MN_START_DEVICE. 会把这个设备的资源列表当成参数传下来,这个时候原则上你已经不能修改资源了,而只能利用这些资源作一些初始化的工作了。 |
|
地板#
发布于:2003-01-13 09:06
自己顶一下,期待解答 :D
|
|
|
地下室#
发布于:2003-01-12 14:27
不太清楚你的意思. 首先 谢谢 lvwj :) 我是看到 WDM 一书中对 Wdm2 ,UsbKbd 等的处理都考虑了资源分配:就是在处理IRP_MN_START_DEVICE 时, 在 StartDevice ()中调用了RetrieveResources() 检查分配的资源。 如果这样的话,PNP 设备在什么情况下需要检查资源分配情况呢? :( 下次等问题清楚一点就过来放分! :) |
|
|
5楼#
发布于:2003-01-11 16:00
不太清楚你的意思.
pnp 设备的资源是系统自动分配的,你只是在该例程中检查是否分到了你所需的资源. 如果不是 pnp 设备,那我也不太清楚了. :D nt 驱动程序好像都是自己检索设备并分配资源,但那时在 Driver init 时处理(wdm) |
|
|