Consoles are just xterms created with the -Sxxn switch.
A pty is opened and the master goes to the xterm side and the slave is held by the wine side. It is possible to use the WriteFile and ReadFile commands to write to a win32 console. Also in this case a flag is set to indicate that the console comes from the parent process or command line. When FreeConsole is called, all handles that the process has open to the console are closed. Like most k32objs, if the console's refcount reaches zero, its k32obj destroy function is called.