阅读:1476回复:7
请问WDM编程问题?
各位好:
小弟最近给一块PCI板编制WDM类型驱动程序,通过PNP管理器获得板卡 资源,很多书上讲,可以直接用但实际中不行那么用什么作转换? :D |
|
最新喜欢:![]()
|
沙发#
发布于:2003-04-11 10:18
谢谢各位老大小弟以按老大吩咐搞顶但在实现过程中出现些问题
从PNP管理器得到的资源总是多于实际配置资源且系统认为是未知资源 ,这是为什么是否是PCI的配置寄存器有问题请指点? |
|
|
板凳#
发布于:2003-04-04 09:26
CM_PARTIAL_RESOURCE_LIST结构包含一个计数器和一个CM_PARTIAL_RESOURCE_DESCRIPTOR结构的数组,StartDevice时必须用循环先把资源值提取到一组局部变量中,然后再处理这些资源信息。其实就是使用switch (resource->Type)来获取port、interrupt、memory、dma资源。
|
|
|
地板#
发布于:2003-04-04 09:13
在pnp处理函数的IRP_MN_START_DEVICE分支里得到IrpStack->Parameters.StartDevice.AllocatedResourcesTranslated,根据PCM_PARTIAL_RESOURCE_DESCRIPTOR结构不就可以使用板卡
资源了 |
|
|
地下室#
发布于:2003-04-01 17:08
nt中的变换FUN很麻烦,WDM中用
的是一样的吗? :) |
|
|
5楼#
发布于:2003-04-01 16:39
MmMapIoSpace将设备内存映射到非分页系统空间,如
pDevEx->AmccPortBase = MmMapIoSpace(MappedAddress,PortCount,FALSE); 事实上,早期的NT式驱动需要自行分配资源,常常涉及到总线地址空间和设备地址空间到系统空间的转换,你随便找个例子就有,:) |
|
|
6楼#
发布于:2003-04-01 15:49
你好!我用了这个函数但好象不太行!转换之后的地址是线性地址吗可以
在历程中直接做读写操作吗如果不行用什么谢谢! :( |
|
|
7楼#
发布于:2003-03-31 15:15
用户被禁言,该主题自动屏蔽! |
|