У меня есть консольное приложение C++ и DLL. В приложении C++ я вижу следующий фрагмент::
typedef DWORD (WINAPI* functABC)(unsigned long*);
functABC functABC111;
HMODULE handleDLL = LOadLibrary("a.DLL");
functABC111 = (functABC)GetProcAddress(handleDLL,"function_1");
На высоком уровне я понимаю, что мы получаем указатель функции на функцию в .DLL "function_1()".
Но хочу понять первые 2 строки в приведенном выше фрагменте ::
typedef DWORD (WINAPI* functABC)(unsigned long*);
functABC functABC111;
2 вопроса :: 1) Является ли имя "functABC" просто случайным именем указателя на функцию?
2) Что мы технически делаем в этих двух строках. Объявление указателя на функцию.
3) Зачем нам нужно использовать WINAPI* в объявлении указателя на функцию в 1-й строке.
Заранее спасибо.