Python ctypes para retornar uma matriz de ponteiros de função

Estou trabalhando com uma DLL que contém uma única chamada que retorna uma matriz de ponteiros de função. GetMyApi () retorna um ponteiro para uma estrutura, que é uma matriz de ponteiros de função. As próprias funções têm diferentes entradas e saídas individuais. O que eu tentei até agora:

[Código C que não posso alterar facilmente] C:

typedef struct My_Api_V2
{
    int                 (__cdecl *IsValidInt)(int i);
    int                 (__cdecl *InvalidInt)();
    int                 (__cdecl *IsValidSize)(size_t i);
} my_Api_V2;

const my_Api_V2* GetMyApi(int version);   // This function is accessed from DLL

Esforço do Python:

from ctypes import *

my_dll = cdll.LoadLibrary(path_to_my_dll)
my_api = my_dll.GetMyApi
my_api.argtypes[c_int]  #version number
my_api.restypes = c_void_p

firstfuncptr = my_api(2)
firstfunc = prototype(firstfuncptr)
firstfunc.argtypes[c_int]
firstfunc.restypes = c_int

test = firstfunc(23)

Neste ponto, estou apenas tentando fazer com que a primeira função da lista de funções retorne ao trabalho. Qualquer ajuda que me aponte para uma melhor direção é apreciada.

questionAnswers(1)

yourAnswerToTheQuestion