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 of 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
Identifies a console screen buffer. The handle must have GENERIC_READ access.
lpAttribute
Points 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
Points 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
See Also
COORD, ReadConsoleOutput, ReadConsoleOutputCharacter, WriteConsoleOutput, WriteConsoleOutputAttribute, WriteConsoleOutputCharacter