typedef int (WINAPI *_TE0300_Open)(unsigned int* PHandle, int CardNo);
この行は、 を返し、 および を受け取るWINAPI
呼び出し規約関数への関数ポインターを型定義します。関数ポインタ型にはエイリアスが与えられます。int
unsigned int *
int
_TE0300_Open
次の例を検討してください。
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);
}
C++11 は、関数ポインターを使用する場合にも、厄介な構文のサポートを追加したと思います。
using func = void (*)();
あなたのGetProcAddress
呼び出しに関しては、これはライブラリから関数をロードします。これを関数ポインターに割り当てると、その関数ポインターを元の関数と同じように使用できます。
あなたの例では、TE0300_Open
通常どおりに呼び出すことができます_TE0300_Open
。_TE0300_Open
また、 は実装用に予約されている名前であることに注意してください。