INFO: HalSetBusData Does Not Allow Programming PCI Bridge Device

ID: Q197529


The information in this article applies to:


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).


REFERENCES

Refer to the Windows NT DDK for information about the HalSetBusData and HalSetBusDataByOffset functions. Refer to the PCI Local Bus Specification for information about PCI.

Additional query words: card bus


Keywords          : kbDDK kbKMode kbNTOS400 
Version           : winnt:
Platform          : winnt 
Issue type        : kbinfo 

Last Reviewed: March 18, 1999