1
У меня есть функция в DLL и попытаться вызвать его в Python 3. Функция прототип:Неправильный тип возвращаемого значения при вызове функции из DLL в Python
__declspec(dllexport) char* getmetadata(char* szFile, size_t* metadata_size);
код Python является:
...
libm = ctypes.CDLL("libm.dll")
fc = libm.getmetadata
fc.restype = ctypes.c_char_p
fc.argtypes = [ctypes.c_char_p, ctypes.POINTER(ctypes.c_size_t)]
size = ctypes.c_size_t(0)
buffer = fc(bytes(path, "utf8"), ctypes.byref(size))
Тип буфера - байты. Почему это не c_char_p?