Этот синтаксис создает экземпляры массива:
>>> import ctypes
>>> (ctypes.c_char*4096)()
<__main__.c_char_Array_4096 object at 0x0000024D84E2D7C8>
Поскольку это массив char
, вы также можете использовать:
>>> create_string_buffer(4096)
<__main__.c_char_Array_4096 object at 0x0000025AE48FE948>
Тип вашей функции должен быть:
c_ec_config_overlap.argtypes = [ctypes.c_uint8, ctypes.c_void_p]
Но для лучшей проверки типа вы также можете использовать:
c_ec_config_overlap.argtypes = [ctypes.c_uint8, ctypes.c_char_p]