Behind the scenes, the pointer
function does more than simply
create pointer instances, it has to create pointer types first.
This is done with the POINTER
function, which accepts any
ctypes
type, and returns a new type:
>>> PI = POINTER(c_int) >>> PI <class 'ctypes.LP_c_long'> >>> PI(42) Traceback (most recent call last): File "<stdin>", line 1, in ? TypeError: expected c_long instead of int >>> PI(c_int(42)) <ctypes.LP_c_long object at 0x...> >>>
See About this document... for information on suggesting changes.