code: def test_paramflags(self):
      # function returns c_void_p result,
      # and has a required parameter named 'input'
      prototype = CFUNCTYPE(c_void_p, c_void_p)
      func = prototype(("_testfunc_p_p", testdll), ((1, "input"),))
  
      try:
          func()
      except TypeError as details:
          self.assertEqual(
              str(details), "required argument 'input' missing"
          )
      else:
          self.fail("TypeError not raised")
  
      self.assertEqual(func(None), None)
      self.assertEqual(func(input=None), None)
  
imports: import _ctypes_test
  import unittest
  from ctypes import CDLL, CFUNCTYPE, POINTER, ArgumentError, pointer, byref, sizeof, addressof, create_string_buffer, c_void_p, c_char_p, c_wchar_p, c_char, c_wchar, c_short, c_int, c_long, c_longlong, c_double
label_desc: Use image node_id 2 for calling the CharPointersTestCase obj's underlying member method code with example usage: obj.test_paramflags() without return types