class_docstr: I/O abstraction for rendering to Windows consoles.
  (cmd.exe and similar.)
class_docstr_tok: ["I\/O","abstraction","for","rendering","to","Windows","consoles",".","(","cmd.exe","and","similar",".",")"]
docstr: Flush and call win API function.
docstr_tok: ["Flush","and","call","win","API","function","."]
code: def _winapi(
      self, func: Callable[..., _T], *a: object, **kw: object
  ) -> _T:
      """
      Flush and call win API function.
      """
      self.flush()
  
      if _DEBUG_RENDER_OUTPUT:
          self.LOG.write(("%r" % func.__name__).encode("utf-8") + b"\n")
          self.LOG.write(
              b"     "
              + ", ".join(["%r" % i for i in a]).encode("utf-8")
              + b"\n"
          )
          self.LOG.write(
              b"     "
              + ", ".join(["%r" % type(i) for i in a]).encode("utf-8")
              + b"\n"
          )
          self.LOG.flush()
  
      try:
          return func(*a, **kw)
      except ArgumentError as e:
          if _DEBUG_RENDER_OUTPUT:
              self.LOG.write(
                  (
                      f"    Error in {func.__name__!r} {e!r} {e}\n"
                  ).encode()
              )
  
          raise
  
imports: from __future__ import annotations
  import sys
  import os
  from ctypes import ArgumentError, byref, c_char, c_long, c_uint, c_ulong, pointer
  from ctypes.wintypes import DWORD, HANDLE
  from typing import Callable, TextIO, TypeVar
  from prompt_toolkit.cursor_shapes import CursorShape
  from prompt_toolkit.data_structures import Size
  from prompt_toolkit.styles import ANSI_COLOR_NAMES, Attrs
  from prompt_toolkit.utils import get_cwidth
  from prompt_toolkit.win32_types import CONSOLE_SCREEN_BUFFER_INFO, COORD, SMALL_RECT, STD_INPUT_HANDLE, STD_OUTPUT_HANDLE
  from ..utils import SPHINX_AUTODOC_RUNNING
  from .base import Output
  from .color_depth import ColorDepth
label_desc: Use image node_id 7 for calling the Win32Output obj's underlying member method code with example usage: obj._winapi(func) and returns: func