code: def read(self, length=1000, blocking=False):
          
          size_p = PLARGE_INTEGER(LARGE_INTEGER(0))
          if not blocking:
              windll.kernel32.GetFileSizeEx(self.conout_pipe, size_p)
              size = size_p[0]
              length = min(size, length)
          data = ctypes.create_string_buffer(length)
          if length > 0:
              num_bytes = PLARGE_INTEGER(LARGE_INTEGER(0))
              ReadFile(self.conout_pipe, data, length, num_bytes, None)
          return data.value
docs: Read ``length`` bytes from current process output stream.
  
          Note: This method is not fully non-blocking, however it
          behaves like one.