ReadConsoleOutputAttribute  91_WW6 

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 COORD7VI.IU 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 GetLastError11C2VS7.

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