VideoPortSetBusData

ULONG VideoPortSetBusData(

PVOID HwDeviceExtension,
BUS_DATA_TYPE BusDataType,
ULONG SlotNumber,
PVOID Buffer,
ULONG Offset,
ULONG Length
);

VideoPortSetBusData sets bus-configuration data for an adapter on a dynamically configurable I/O bus with a published, standard interface.

Parameters

HwDeviceExtension

Points to the miniport driver's device extension.

BusDataType

Specifies the type of bus data to be set. Currently, its value can be PCIConfiguration. However, additional types of standardized, dynamically configurable buses will be supported in the future. The upper bound on the bus types supported is always MaximumBusDataType.

SlotNumber

Specifies the logical slot number. When PCIConfiguration is specified, this is a PCI_SLOT_NUMBER-type value.

Buffer

Points to a caller-supplied storage area with configuration information specific to BusDataType.

When PCIConfiguration is specified, the buffer contains some or all of the PCI_COMMON_CONFIG information for the given SlotNumber. The specified Offset and Length determine how much information is supplied.

Offset

Specifies the byte offset within the PCI_COMMON_CONFIG structure at which the caller-supplied configuration values begin. A miniport driver can use PCI_COMMON_HDR_LENGTH to specify the offset of the device-specific area in PCI_COMMON_CONFIG.

Length

Specifies the number of bytes in Buffer.

Return Value

VideoPortSetBusData returns the number of bytes of data successfully set for the given SlotNumber. If the given BusDataType is not valid for the current platform or if the supplied information is invalid, VideoPortSetBusData returns zero.

Comments

Miniport drivers of adapters on a PCI bus seldom call VideoPortSetBusData, unless unusual circumstances or the nature of a particular driver's video adapter requires such a call.

For example, a miniport driver might call VideoPortSetBusData to clear a bit in the PCI status register if its adapter signals a target abort during initialization. If a PCI video adapter must be configured with device-specific data, its driver also calls this function. In either case, such a driver is then likely to call VideoPortGetAccessRanges with a RequestedResources pointer to a driver-supplied array of resource descriptors.

VideoPortSetBusData can be called only from the miniport's HwVidFindAdapter function.

See Also

HalSetBusDataByOffset, HwVidFindAdapter, PCI_COMMON_CONFIG, PCI_SLOT_NUMBER, VideoPortGetAccessRanges, VideoPortGetBusData