code: func WriteConsoleOutput(handle uintptr, buffer []CHAR_INFO, bufferSize COORD, bufferCoord COORD, writeRegion *SMALL_RECT) error {
  	r1, r2, err := writeConsoleOutputProc.Call(handle, uintptr(unsafe.Pointer(&buffer[0])), coordToPointer(bufferSize), coordToPointer(bufferCoord), uintptr(unsafe.Pointer(writeRegion)))
  	use(buffer)
  	use(bufferSize)
  	use(bufferCoord)
  	return checkError(r1, r2, err)
  }
docs: // WriteConsoleOutput writes the CHAR_INFOs from the provided buffer to the active console buffer.
  // See https://msdn.microsoft.com/en-us/library/windows/desktop/ms687404(v=vs.85).aspx.