AtaPortSetBusData function (irb.h)

The AtaPortSetBusData routine stores the data at Buffer in the indicated device's PCI configuration space at an offset that is specified in ConfigDataOffset.

Note

The ATA port driver and ATA miniport driver models may be altered or unavailable in the future. Instead, we recommend using the Storport driver and Storport miniport driver models.

Syntax

ULONG AtaPortSetBusData(
  PVOID ControllerExtension,
  PVOID Buffer,
  ULONG ConfigDataOffset,
  ULONG BufferLength
);

Parameters

ControllerExtension

[in] A pointer to the controller extension.

Buffer

[in] A pointer to the buffer that contains the data to write to the device's PCI bus configuration space.

ConfigDataOffset

[in] Specifies an offset into the device's PCI bus configuration data space where the data is updated.

BufferLength

[in] Specifies the length, in bytes, of the buffer that Buffer points to.

Return value

AtaPortSetBusData returns the amount of the data that was written in bytes.

Remarks

AtaPortSetBusData completes a bitwise OR, one byte at a time, of the current PCI configuration space data with the new data in Buffer. Only those bits not indicated by DataMask are left untouched. The byte of data that follows ConfigDataOffset, therefore, is updated as follows:

ConfigDataOffest[i] = 
    (ConfigDataOffest[i] & ~DataMask[i]) | 
    (DataMask[i] & Buffer[i])

Requirements

Requirement Value
Target Platform Desktop
Header irb.h (include Ata.h, Irb.h)
Library Pciidex.lib

See also

AtaPortGetBusData