Erwan Le Pape added the comment: I can confirm Eryk got what I meant. I didn't know if it was meant to work that way or if it was simply something that was overlooked so I thought I'd ask, I will look into the ctypes code to provide a patch sometime this week if I can.
Terry, for a working example take the following (on a MS Windows): >>> from ctypes import * >>> from ctypes.wintypes import * >>> >>> class CustomPHKEY(object): ... def __init__(self, value): ... self._as_parameter_ = HKEY(value) ... >>> >>> function = ctypes.windll.advapi32.RegOpenKeyExW >>> function.argtypes = [HKEY, c_wchar_p, DWORD, DWORD, POINTER(HKEY)] >>> function.restype = LONG >>> result = CustomPHKEY(0) >>> function(0x80000002, 'SOFTWARE', 0, 0x20019, result) Traceback (most recent call last): File "<stdin>", line 1, in <module> ctypes.ArgumentError: argument 5: <type 'exceptions.TypeError'>: expected LP_c_void_p instance instead of c_void_p ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue27803> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com