class_docstr: Runs a shell command in a 'with' context.
  
  This implementation is Win32-specific.
  
  Example:
      # Runs the command interactively with default console stdin/stdout
      with ShellCommandController('python -i') as scc:
          scc.run()
  
      # Runs the command using the provided functions for stdin/stdout
      def my_stdout_func(s):
          # print or save the string 's'
          write_to_stdout(s)
      def my_stdin_func():
          # If input is available, return it as a string.
          if input_available():
              return get_input()
          # If no input available, return None after a short delay to
          # keep from blocking.
          else:
              time.sleep(0.01)
              return None
    
      with ShellCommandController('python -i') as scc:
          scc.run(my_stdout_func, my_stdin_func)
code: def __exit__(self, exc_type, exc_value, traceback):
      if self.hstdin:
          CloseHandle(self.hstdin)
          self.hstdin = None
      if self.hstdout:
          CloseHandle(self.hstdout)
          self.hstdout = None
      if self.hstderr:
          CloseHandle(self.hstderr)
          self.hstderr = None
      if self.piProcInfo is not None:
          CloseHandle(self.piProcInfo.hProcess)
          CloseHandle(self.piProcInfo.hThread)
          self.piProcInfo = None
  
imports: from __future__ import print_function
  import os, sys, threading
  import ctypes, msvcrt
  from .None import py3compat
  from ctypes import POINTER
  from ctypes.wintypes import HANDLE, HLOCAL, LPVOID, WORD, DWORD, BOOL, ULONG, LPCWSTR
label_desc: Use image node_id 11 for calling the Win32ShellCommandController obj's underlying member method code with example usage: obj.__exit__(exc_type, exc_value, traceback) without return types