On 5/12/2014 1:55 PM, William Furnass wrote:
I'm wanting to wrap the following C function in such a way that the
return value is used to trigger Exceptions (I've got this bit working)
and the single function param is specified INOUT to allow the argument
to be 'modified' and returned within Python.

int  ENrunQ(long *INOUT);

What's odd is that the Python function returns a two-element list
where the first element is of type 'int' and the second of type
'long'.  Anyone know why this is?

Well, more than likely it's because your function needs to return two pieces of information: the value being placed into the INOUT argument and the actual return value of the function itself.  So the return value of the function is placed into the first position of the list, with the OUT portion of the argument in the second.