ReadConsoleOutputAttribute

The ReadConsoleOutputAttribute function copies a specified number of foreground and background color attributes from consecutive cells of a console screen buffer, beginning at a specified location.

BOOL ReadConsoleOutputAttribute(
  HANDLE hConsoleOutput,
                      // handle to a console screen buffer
  LPWORD lpAttribute, // address of buffer to receive attributes
  DWORD nLength,      // number of character cells to read from
  COORD dwReadCoord,  // coordinates of first cell to read from
  LPDWORD lpNumberOfAttrsRead 
                      // address of number of cells read from
);
 

Parameters

hConsoleOutput
Handle to a console screen buffer. The handle must have GENERIC_READ access.
lpAttribute
Pointer to a buffer that receives the attributes read from the screen buffer.
nLength
Specifies the number of screen buffer character cells from which to read. The size of the buffer pointed to by the lpAttribute parameter should be nLength * sizeof(WORD).
dwReadCoord
Specifies the coordinates of the first cell in the screen buffer from which to read. The X member of the COORD structure is the column, and the Y member is the row.
lpNumberOfAttrsRead
Pointer to a 32-bit variable that receives the number of attributes actually read.

Return Values

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

If the number of attributes to be read from extends beyond the end of the specified screen buffer row, attributes are read from the next row. If the number of attributes to be read from extends beyond the end of the screen buffer, attributes up to the end of the screen buffer are read.

Each attribute specifies the foreground (text) and background colors in which that character cell is drawn. The attribute values are some combination of the following values: FOREGROUND_BLUE, FOREGROUND_GREEN, FOREGROUND_RED, FOREGROUND_INTENSITY, BACKGROUND_BLUE, BACKGROUND_GREEN, BACKGROUND_RED, and BACKGROUND_INTENSITY. For example, the following combination of values produces red text on a white background:

FOREGROUND_RED | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE 
 

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in wincon.h.
  Import Library: Use kernel32.lib.

See Also

Consoles and Character-Mode Support Overview, Console Functions, COORD, ReadConsoleOutput, ReadConsoleOutputCharacter, WriteConsoleOutput, WriteConsoleOutputAttribute, WriteConsoleOutputCharacter