typedef int (WINAPI *_TE0300_Open)(unsigned int* PHandle, int CardNo);
This line typedefs a function pointer to a WINAPI
calling convention function returning an int
, and taking an unsigned int *
and an int
. The function pointer type is given the alias _TE0300_Open
.
Consider the following example:
typedef void (*func)();
void foo (func f) //notice we have a nice type name here
{
cout << "Calling function...";
f();
}
void bar(){}
int main()
{
foo (bar);
}
I believe C++11 added support for less icky syntax when using function pointers as well:
using func = void (*)();
As for your GetProcAddress
call, this loads a function from a library. You assign it to a function pointer, and you can use that function pointer as you would the original function.
In your example, you can now call TE0300_Open
as you would normally call _TE0300_Open
. It should also be noted that _TE0300_Open
is a name that is reserved for the implementation.