title: c_void_p arguments in callbacks using ctypes in Python
body: <p>I'm a frequent user of ctypes, but I encountered some things that I can't explain.</p>
  
  <p>First, when I define a callback with a c_void_p, the callback will receive a flat integer.</p>
  
  <p>I saw some other posts that mentioned wrapping c_void_p in another POINTER when it came to using c_void_p for a return value. So, I thought that I could try this for the argument in the callback definition: POINTER(c_void_p). I get a pointer when the callback is called, now, but I still don't know whether it points to value data.</p>
  
  <p>Since the C_void_p points to a buffer with binary data, I don't believe that I can use a c_char_p. I cast to an array of unsigned-chars with the length that I am being passed, but then Python tells me that I have a tuple, and there's no "contents" or "value" property that I can use.</p>
  
  <p>Suggestions?</p>