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.