#20 error with inout args

open
nobody
None
5
2014-02-19
2011-09-26
wirepair
No

Problem outlined here: http://groups.google.com/group/peachfuzz/browse_thread/thread/b02ea0d0e19ae3a. If you comment out the if paramflags lines it seems to be resolved. Looks like a problem with the _cominterface_meta's _fix_inout_args. When calling something that takes an inout, you'll get a stack trace like this:
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\buggery-0.1-py2.7.egg\buggery\debug.py", l
ine 69, in handle_event
retval = self.handlers[eventtype](event)
File "C:\Research\Buggery\Buggery\examples\lmtest.py", line 27, in onException

print self.dbg.registers.get_value_by_name("esp")
File "C:\Python27\lib\site-packages\buggery-0.1-py2.7.egg\buggery\idebug.py",
line 332, in get_value_by_name
self._build_map()
File "C:\Python27\lib\site-packages\buggery-0.1-py2.7.egg\buggery\idebug.py",
line 309, in _build_map
name = self._get_description(i)
File "C:\Python27\lib\site-packages\buggery-0.1-py2.7.egg\buggery\idebug.py",
line 322, in _get_description
reg = self._registers.GetDescription(index, ' '*12, 12)
File "C:\Python27\lib\site-packages\comtypes\__init__.py", line 596, in call_w
ith_inout
v = atyp.from_param(v)
AttributeError: 'str' object has no attribute 'from_param'

Discussion