AtaPortGetDeviceBase function (irb.h)

The AtaPortGetDeviceBase routine returns a mapped logical base address that is used to communicate with an HBA.

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

PVOID AtaPortGetDeviceBase(
  [in] PVOID                ChannelExtension,
  [in] IDE_PHYSICAL_ADDRESS IoAddress,
  [in] ULONG                NumberOfBytes
);

Parameters

[in] ChannelExtension

A pointer to the channel extension.

[in] IoAddress

Specifies the base address to map.

[in] NumberOfBytes

Specifies the size, in bytes, of the range that the mappings should cover. The value for this parameter can be obtained from the IdeAccessRange member of the IDE_MINIPORT_RESOURCES structure.

Return value

AtaPortGetDeviceBase returns a mapped logical base address if the operation succeeds. Otherwise, it returns NULL.

Remarks

Miniport drivers must use logical addresses that have been mapped into system space by AtaPortGetDeviceBase instead of bus-relative addresses to communicate with its HBA. Calls to the AtaPort...Port/RegisterXxx routines require mapped logical addresses.

Requirements

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

See also

AtaPortReadPortUchar

AtaPortReadPortUlong

AtaPortReadPortUshort