Нужно получить runtime способность вызыва любой callback функции. Например обрабочики wndproc, enumwindows, enumfont, enumprocess и другие, но для них всех нужен свой прототип. Мне хотелось бы свести все callback функции к одной, может через лямбду или шаблон, иди ещё как..
Подробнее: есть структура типа VARIANT, есть механизм вызова любой функции из DLL, вот нужно вызвать такую, где аргументом является callback (xxxPROC), при этом мне хочется все возможные виды таких функций соединть в одной, и по некоторым иным признакам уже в ней определять обработку, не знаю как соеденить их все в одну.
Буду благодарен если кто поможет с данным вопросом.
Добавлено через 8 минут
Например:
Подробнее: есть структура типа VARIANT, есть механизм вызова любой функции из DLL, вот нужно вызвать такую, где аргументом является callback (xxxPROC), при этом мне хочется все возможные виды таких функций соединть в одной, и по некоторым иным признакам уже в ней определять обработку, не знаю как соеденить их все в одну.
Буду благодарен если кто поможет с данным вопросом.
Добавлено через 8 минут
Например:
Код:
int k = 0;
int CALLBACK AnyProc(...); // прототип
//ляляля, код код..
k = 1;
EnumFontFamiliesExA(Dc,&lf,AnyProc,0,0); //вызов перечисления шрифтов, тип должен быть FONTENUMPROC
//ещё какой то код..
k = 2;
wcx.lpfnWndProc = AnyProc; //где то регистрирую окно и прикручиваю обработчик
//глубже в лес
k = 3;
EnumChildWindows(hwn,AnyProc,0);
//и собственно сама ф.
int CALLBACK AnyProc(...)
{
int res = 0;
int kArgs = 0;
//вычисляю аргументы? (как - не знаю, обычно используют 0 агрумент типа int, для таких дел
//по k - определяю в цикле тип действия и обработку
return res;
}