Each OpenDevice() must eventually be matched by a call to CloseDevice().
All I/O requests must be complete before CloseDevice(). If any requests
are still pending, abort them with AbortIO().
if (!(CheckIO(ConsIO)))
AbortIO(ConsIO); /* Ask device to abort any pending requests */
WaitIO(ConsIO); /* Wait for abort, then clean up */
CloseDevice(ConsIO); /* Close console device */