В файле заголовка DLL у меня есть следующая структура
typedef struct USMC_Devices_st{
DWORD NOD; // Number of the devices ready to work
char **Serial; // Array of 16 byte ASCII strings
char **Version; // Array of 4 byte ASCII strings
} USMC_Devices; // Structure representing connected devices
Я хотел бы вызвать функцию DLL: DWORD USMC_Init (USMC_Devices & Str);
Я пытался с этим:
class USMCDevices(Structure):
_fields_ = [("NOD", c_long),
("Serial", c_char_p),
("Version", c_char_p)]
usmc = cdll.USMCDLL #this is the dll file
init = usmc.USMC_Init
init.restype = c_int32; # return type
init.argtypes = [USMCDevices]; # argument
dev = USMCDevices()
init(dev)
Я получаю ошибку здесь.Я предполагаю, что проблема связана с «Serial» и «Version», которые оба являются массивом, соответствующим NOD (количеству устройств).
Есть идеи, как решить эту проблему?
Я действительно ценюваша помощь !!!