TRANSLATE_BUS_ADDRESS callback function (wdm.h)

The TranslateBusAddress routine translates addresses on the parent bus to logical addresses.

Syntax

TRANSLATE_BUS_ADDRESS TranslateBusAddress;

BOOLEAN TranslateBusAddress(
  [in]      PVOID Context,
  [in]      PHYSICAL_ADDRESS BusAddress,
  [in]      ULONG Length,
  [in, out] PULONG AddressSpace,
  [out]     PPHYSICAL_ADDRESS TranslatedAddress
)
{...}

Parameters

[in] Context

A pointer to interface-specific context information. The caller passes the value that is passed as the Context member of the BUS_INTERFACE_STANDARD structure for the interface.

[in] BusAddress

The bus-relative address to be translated.

[in] Length

The length, in bytes, of the input memory that BusAddress points to.

[in, out] AddressSpace

On input, the address space in which the device's hardware address resides. A value of 0x0 signifies memory space, and a value of 0x1 signifies port I/O space. On output, AddressSpace indicates the address space in which the TranslatedAddress resides.

[out] TranslatedAddress

The translated (logical) address that corresponds to the bus-relative address that the caller provides in BusAddress.

Return value

The TranslateBusAddress routine returns TRUE if the translation operation succeeded and FALSE otherwise.

Requirements

Requirement Value
Target Platform Desktop
Header wdm.h (include Ntddk.h)
IRQL PASSIVE_LEVEL

See also

BUS_INTERFACE_STANDARD