Microsoft KB Archive/197529

{|
 * width="100%"|

INFO: HalSetBusData Does Not Allow Programming PCI Bridge Device

 * }

Q197529

-

The information in this article applies to:


 * Microsoft Win32 Device Driver Kit (DDK) for Windows NT

-

SUMMARY
A call to HalSetBusData or HalSetBusDataByOffset fails if the target device is a PCI bridge device and the data to be written is within the PCI common configuration space header. This behavior is by-design, because these functions are used only for programming nonbridge devices.

The Windows NT DDK documentation will be updated to include this information.

MORE INFORMATION
HalSetBusData and HalSetBusDataByOffset can only be used to program PCI devices with a type 0x00 configuration space header. The Header Type register (bits 6 through 0) in the PCI configuration space identifies the device type.

Currently, the following header types are defined:

  0x00  PCI device type 0x01 PCI bridge type 0x02 PCI cardbus bridge type

Bit 7 of the HeaderType register indicates whether the device is a multifunction device (bit is 1) or a single function device (bit is 0).