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 |