Convert PyIDispatch object to struct IDispatch*

Tim Golden mail at timgolden.me.uk
Fri Apr 11 09:47:20 EDT 2008


Huayang Xia wrote:
> On Apr 11, 12:15 am, "Gabriel Genellina" <gagsl-... at yahoo.com.ar>
> wrote:
>> En Thu, 10 Apr 2008 18:45:04 -0300, Huayang Xia <huayang.... at gmail.com>
>> escribió:
>>
>>> I am trying to use ctypes to call dll functions. One of the functions
>>> requires argument "struct IDispatch* ". I do have a PyIDispatch object
>>> in python. How can I convert this "PyIDispatch object" to "struct
>>> IDispatch* "?
>> I think a PyIDispatch object is an IDispatch* itself.
>> But you'll get better answers from the python-win32 list:http://mail.python.org/mailman/listinfo/python-win32
>>
>> --
>> Gabriel Genellina
> 
> Thanks for the info.
> 
> To call a dll function, it needs a C style IDispatch*. PyIDispatch is
> a python wrapped one. I found a reference from:
> 
> http://svn.python.org/projects/ctypes/trunk/comtypes/comtypes/test/test_win32com_interop.py
> 
> which shows how to convert C style to python style. Unfortunately i
> need the reversed version.
> 
> I will post the question to python-win32.

I've had a quick look at the PyIDispatch source and I can't see any obvious
way in which the underlying IDispatch is exposed. May have missed something,
but it's possible that there's not way out.

TJG



More information about the Python-list mailing list