This topic has not yet been rated - Rate this topic

TransBusAddrToVirtual

Other versions of this page are also available for the following:
Windows Mobile Not SupportedWindows Embedded CE Supported
8/28/2008

This function is deprecated. Use BusTransBusAddrToVirtual instead. This function translates a bus address to a virtual system address.


BOOL TransBusAddrToVirtual(
  INTERFACE_TYPE InterfaceType,
  ULONG BusNumber,
  PHYSICAL_ADDRESS BusAddress,
  ULONG Length,
  PULONG AddressSpace,
  PPVOID MappedAddress
);
InterfaceType

[in] Element of INTERFACE_TYPE. Any bus type in the INTERFACE_TYPE enumeration is supported. You must implement that support in your CEDDK.dll file. Microsoft provides support for the PCI bus on some of the sample BSPs.

BusNumber

[in] Bus number where the device resides.

BusAddress

[in] Bus-relative address of registers and ports on the device.

Length

[in] Number of bytes to map on the device.

AddressSpace

[in, out] Flag to indicate whether what this function maps to is in I/O space or memory space. On input, this is an initialized variable. On output, this is the flag. AddressSpace 0x0 indicates memory, and AddressSpace 0x1 indicates I/O space.

MappedAddress

[out] Virtual address where this function mapped the physical address.

Returns TRUE if successful. Returns FALSE if not successful.

The difference between TransBusAddrToVirtual and TransBusAddrToStatic is that TransBusAddrToVirtual does not create a static mapping.

This function combines the functionality of HalTranslateBusAddress and MmMapIoSpace to simplify the work needed to translate a bus-relative address to a system virtual address needed by a driver to access a device.

If the MappedAddress pointer is in memory space and AddressSpace is 0 after the call to TransBusAddrToVirtual returns, you can unmap the MappedAddress pointer with a call to the MmUnmapIoSpace function.

Headerceddk.h
LibraryCEDDK.lib
Windows Embedded CEWindows CE .NET 4.0 and later
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ