Export (0) Print
Expand All

Device Memory Access

The device-memory-access macros are called by kernel-mode drivers to access the memory-mapped hardware registers and I/O ports of their respective devices.

For the following macros, XXX_REGISTER_XXX indicates device memory that is mapped onto system memory address space, while XXX_PORT_XXX indicates device memory in I/O port address space.

READ_PORT_UCHAR

Reads a UCHAR value from the given I/O port address.

READ_PORT_USHORT

Reads a USHORT value from the given I/O port address.

READ_PORT_ULONG

Reads a ULONG value from the given I/O port address.

READ_PORT_BUFFER_UCHAR

Reads a given count of UCHAR values from the given I/O port into a given buffer.

READ_PORT_BUFFER_USHORT

Reads a given count of USHORT values from the given I/O port into a given buffer.

READ_PORT_BUFFER_ULONG

Reads a given count of ULONG values from the given I/O port into a given buffer.

WRITE_PORT_UCHAR

Writes a given UCHAR value to the given I/O port address.

WRITE_PORT_USHORT

Writes a given USHORT value to the given I/O port address.

WRITE_PORT_ULONG

Writes a given ULONG value to the given I/O port address.

WRITE_PORT_BUFFER_UCHAR

Writes a given count of UCHAR values from a given buffer to the given I/O port.

WRITE_PORT_BUFFER_USHORT

Writes a given count of USHORT values from a given buffer to the given I/O port.

WRITE_PORT_BUFFER_ULONG

Writes a given count of ULONG values from a given buffer to the given I/O port.

READ_REGISTER_UCHAR

Reads a UCHAR value from the given register address in memory space.

READ_REGISTER_USHORT

Reads a USHORT value from the given register address in memory space.

READ_REGISTER_ULONG

Reads a ULONG value from the given register address in memory space.

READ_REGISTER_BUFFER_UCHAR

Reads a given count of UCHAR values from the given register address into the given buffer.

READ_REGISTER_BUFFER_USHORT

Reads a given count of USHORT values from the given register address into the given buffer.

READ_REGISTER_BUFFER_ULONG

Reads a given count of ULONG values from the given register address into the given buffer.

WRITE_REGISTER_UCHAR

Writes a given UCHAR value to the given register address in memory space.

WRITE_REGISTER_USHORT

Writes a given USHORT value to the given register address in memory space.

WRITE_REGISTER_ULONG

Writes a given ULONG value to the given register address in memory space.

WRITE_REGISTER_BUFFER_UCHAR

Writes a given count of UCHAR values from a given buffer to the given register address.

WRITE_REGISTER_BUFFER_USHORT

Writes a given count of USHORT values from a given buffer to the given register address.

WRITE_REGISTER_BUFFER_ULONG

Writes a given count of ULONG values from a given buffer to the given register address.

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft