Hello, I'm in a similar situation of what was described previously in this thread: http://sourceforge.net/mailarchive/message.php?msg_id=25175351
I need to send a pointer to a buffer which will be filled by the method as output. The IDL looks like this: HRESULT GetImage([in] long lSize, [out, size_is(size)] BYTE *pbImage) With the SVN head of comtypes, it's fairly easy to handle, but I still need to do two things: * Change the generated python class to force pbImage to be 'in' and not 'out' * Cast my buffer variable to look like a pointer to a byte, and not an array: buffer = (c_ubyte * num_bytes)() c.GetImage(num_bytes, cast(pointer(buffer), POINTER(c_ubyte))) So my question: is this the right way to do it? Would it be possible to modify comptypes to make it easier? * Could it be possible to have the tlb parser to detect this case and put the parameter as 'in' instead of 'out'? * Could it be possible to support the byref() construct like: c.GetImage(num_bytes, byref(buffer)) For now it raises a type exception: ArgumentError: argument 2: <type 'exceptions.TypeError'>: expected LP_c_ubyte instance instead of pointer to c_ubyte_Array_226304 Thanks in advance for your help and input! See you, Éric ------------------------------------------------------------------------------ Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d _______________________________________________ comtypes-users mailing list comtypes-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/comtypes-users