Разумеется, тебе и реализацию функции надо будет поправить, её заголовок должен совпадать с тем, который ты описал в заголовочном файле. Это же азы!
Более того, у тебя и тело функции изменится. Теперь вместо
__declspec(dllexport) outdata SpiralsCoord(float x1, float x2, float x3, float x4, float x5, int x6) {
outdata data;
data.out_x1 = xy1;
data.out_x2 = xy2;
data.out_x3 = xy3;
return data;
}
будет код вроде
__declspec(dllexport) void SpiralsCoord(float x1, float x2, float x3, float x4, float x5, int x6, outdata* data) {
//используем оператор ->, так как data теперь указатель на структуру, а не сама структура
data->out_x1 = xy1;
data->out_x2 = xy2;
data->out_x3 = xy3;
}
Ну а в Питоне тогда для передачи последнего параметера нужно будет сделать кое-что.
1. Описать структуру outdata как класс-потомок ctypes.Structure.
2. Создать экземпляр этой структуры.
3. Описать прототип функции SpiralsCoord (или под каким именем она экспортируется?), указав типы параметров и возвращаемого значения.
4. Использовать ctypes.byref() при передаче экземпляра структуры последним параметром.