将非BMP代码点写入控制台

Windows控制台API提供WriteConsoleOutput函数,该函数允许您将字符写入控制台上的任意位置。 这个函数接受一个CHAR_INFO结构数组作为参数,指定:

  1. 字符(即代码点)写入
  2. 属性

然而, CHAR_INFO结构允许只将代码点指定为WCHARCHARCHAR仅支持ANSI字符, WCHAR仅支持U + 0000至U + FFFF(即BMP )范围内的代码点。

有什么方法可以使用控制台API写出U + 10000到U + 10FFFF范围内的代码点吗? 即在BMP之外编写代码点?

就我所知,Windows控制台API仅限于UCS2,因此不能输出非BMP字符。