阅读:1560回复:13
轻松得分的好机会
我想在98和2000读写pci设备的寄存器信息,我在ntddk的帮助里找到
HalGetBusDataByOffset函数和HalSetBusDataByOffset函数。我在ntddk.h里面也找到了他们的声明,但我不知道怎么用。我在vc里面把ntddk.h中关于这两个函数的申明copy出来,他还是说我没有解决外部引用,我又找不到相对应的lib文件。用ntddk build的话,他也是提示我没有解决外部引用的问题。 我很急,大家帮帮忙 |
|
|
沙发#
发布于:2002-10-28 20:55
应该是什么库文件没有在link的时候加进来。你所说的几个函数都
是在hal.dll里面。 你看看你程序的source文件里,有没有加入hal.lib。 |
|
|
板凳#
发布于:2002-10-28 21:10
关注
|
|
地板#
发布于:2002-10-28 21:21
我现在已经知道可以通过0xcf8和0xcfc来解决。我如果已经知道busnumber是0,functionnumbe是0,drivernumber是8029,我想得到02寄存器内容。那我用_outp(0xcf8,XXX)语句写的话,XXX应该是多少呢!
|
|
|
地下室#
发布于:2002-10-29 09:22
看pci规范
|
|
5楼#
发布于:2002-10-29 09:44
有一本好厚的PCI的经典书
放分庆祝吧 |
|
|
6楼#
发布于:2002-10-29 09:51
我现在已经知道可以通过0xcf8和0xcfc来解决。我如果已经知道busnumber是0,functionnumbe是0,drivernumber是8029,我想得到02寄存器内容。那我用_outp(0xcf8,XXX)语句写的话,XXX应该是多少呢! PORT 0CF8-0CFF - PCI Configuration Mechanism 1 - Configuration Registers SeeAlso: PORT 0CF8h\"Mechanism 2\" 0CF8d -W configuration address port (see #P0944) 0CFCd RW configuration data port (when PORT 0CF8h bit 31 is set) Bitfields for PCI configuration address port: Bit(s) Description (Table P0944) 1-0 reserved (00) 7-2 configuration register number (see #00878) 10-8 function 15-11 device number 23-16 bus number 30-24 reserved (0) 31 enable configuration space mapping Note: configuration registers are considered DWORDs, so the number in bits 7-2 is the configuration space address shifted right two bits SeeAlso: #P0945 Copied from Ralf Brown\'s Interrupt List 以上引自Ralf Brown 的中断大全。 |
|
|
7楼#
发布于:2002-10-29 09:58
那本好厚的书呢在哪里啊,还有我想看pci规范,在哪里可以找到。现在在98下我可以得到各寄存器的内容了,但是往cfc里面写的时候不是不成功就是死机,难道是不能写吗?搞定了,大家都有分数拿哦
|
|
|
8楼#
发布于:2002-10-29 10:08
用双字操作,有些PCI设备只接受32BIT操作。_outpd(0xCF8,XXX),_outpd(0xCFC,xxx)
PCI规范E文: |
|
|
9楼#
发布于:2002-10-29 10:56
我现在是用声卡,在98下用windriver是可以写CMD寄存器的,但是用_outpd(cf8,0xAAA),outpd(cfc,0xBBB),却是没有反应,不知道为什么
|
|
|
10楼#
发布于:2002-10-29 13:05
在98下我用应用程序调用vxd,在vxd里面用_outpd(cf8,XXX),_outpd(cfc,XXX),发现可以读也可以写了。所以前面碰到的问题估计可能是权限不够。现在还有一个问题就是我对wdm不太熟悉,我如果要在2000下完成这个功能的话,在wdm驱动里应该怎么写呢。又应该怎么用应用程序调用。在此先谢过了
|
|
|
11楼#
发布于:2002-10-29 13:26
我好早以前看见过那本书,传说是印度人写的,但我忘记书名了
|
|
|
12楼#
发布于:2002-10-29 13:30
难道vxd里面能完成的功能,在wdm里面就不能实现吗
|
|
|
13楼#
发布于:2002-10-30 10:19
没有人知道,还是这个问题太容易了,大家快来帮我一把吧。我很急的
|
|
|