In order to call a function in a third party DLL, it needs to meet many of the same requirements of a DLL you would build yourself. The function must be exported using APIENTRY calling convention. The APIENTRY is a refine of WINAPI which in turn is defined as __stdcall. This means:
Argument-passing order  | 
Right to left.  | 
Argument-passing convention  | 
By value, unless a pointer or reference type is passed.  | 
Stack-maintenance responsibility  | 
Called function pops its own arguments from the stack.  | 
Name-decoration convention  | 
An underscore (_) is prefixed to the name. The name is followed by the at sign (@) followed by the number of bytes (in decimal) in the argument list. Therefore, the function declared as int func( int a, double b ) is decorated as follows: _func@12  | 
Case-translation convention  | 
None  |