Platform SDK: Files and I/O

WriteConsoleOutputAttribute

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

BOOL WriteConsoleOutputAttribute(
  HANDLE hConsoleOutput,         // handle to screen buffer
  CONST WORD *lpAttribute,       // write attributes
  DWORD nLength,                 // number of cells
  COORD dwWriteCoord,            // first cell coordinates
  LPDWORD lpNumberOfAttrsWritten // number of cells written
);

Parameters

hConsoleOutput
[in] Handle to the screen buffer. The handle must have GENERIC_WRITE access.
lpAttribute
[in] Pointer to a buffer that contains the attributes to write to the screen buffer.
nLength
[in] Specifies the number of screen buffer character cells to write to.
dwWriteCoord
[in] Specifies the column and row coordinates of the first cell in the screen buffer to write to.
lpNumberOfAttrsWritten
[out] Pointer to a variable that receives the number of attributes actually written to the screen buffer.

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 written to extends beyond the end of the specified row in the screen buffer, attributes are written to the next row. If the number of attributes to be written to extends beyond the end of the screen buffer, the attributes are written up to the end of the screen buffer.

The character values at the positions written to are not changed.

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 

Requirements

  Windows NT/2000: Requires Windows NT 3.1 or later.
  Windows 95/98: Requires Windows 95 or later.
  Header: Declared in Wincon.h; include Windows.h.
  Library: Use Kernel32.lib.

See Also

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