у меня устроено так, каждая функция загружаемая из wglGetProcAddress заворачивается в шаблонный функтор, и используется как глобальный объект, внутри оно хранит указатель на функцию и перегруженный operator() типы аргументов и возвращаемого значения берутся из типа указателя на функцию, проблема в том что многие шаблоны не могут принять такие указатели с указанным соглашением о вызове, и очень вероятно что я из них даже типы аргументов извлечь не смогу
Тебе в шаблоном фуркторе не нужен тип функции