HalSetBusDataByOffset failed on XP.

Hi all,
I have an old NT driver that uses HalGetBusDataByOffset and
HalSetBusDataByOffset to search(by Vendor ID and Device ID) for all “Hub
Interface to PCI bridge” devices and to write to their config spaces for my
special purposes. Everything works fine in WinNT, Win2000 except Windows XP.
I could not write to the config spaces of the devices. HalGetBusDataByOffset
was OK but HalSetBusDataByOffset failed.

Does anyone has any idea why it failed when I tried to write to the pci
bridges’ config spaces in windows XP ? I know HalSetBusDataByOffset is still
supported under XP b/c I was able to write to other PCI devices. Can it be
that the driver(pci.sys from Microsoft) for those “Hub Interface to PCI
bridge” devices prevents me from writing to the config spaces ?

If I’m going to write one filter driver for all these pci devices so that I
can pass the IRP_MN_WRITE_CONFIG to the bus driver(pci.sys), how and where
do I hook the filter driver ? How does the bus driver know from which bridge
the request comes?

Thanks in advance,
Nhan


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

> Does anyone has any idea why it failed when I tried to write to the pci

bridges’ config spaces in windows XP ?

IIRC no NT will allow the driver to program the PCI bridges.
It is allowed for HAL and pci.sys only.

Max


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com