title: Interacting with a c struct containing only function pointers using ctypes in python
body: <p>I have a struct in a dll that only contains function pointers (ie a vtable) that I would like to interact with in python (for test purposes). I am having a bit of trouble working out how to do this using ctypes.</p>
  
  <p>What I have is:</p>
  
  <pre><code>struct ITest  
  {  
      virtual char const  *__cdecl GetName() = 0;  
      virtual void  __cdecl SetName(char const *name) = 0;  
  };
  
  /* Factory function to create 'real' Test object */  
  extern "C" __declspec(dllexport) struct ITest * CALLCONV make_Test(char const * name); 
  </code></pre>
  
  <p>A 'real' Test object will fill in the struct as appropriate. This gets compiled into a DLL (test.dll). I'd like, in python, to be able to call the factory method to get back a pointer to my Test struct and then call the function pointers contained in the struct, but I just can't seem to get my head around how it would work using ctypes. Does anyone have any pointers / examples of doing something similar or should I be using something like SWIG or Boost?</p>
  
  <p>Thanks for any help.</p>