Bad DLL calling convention
Visual Studio 2012
Arguments passed to a dynamic-link library (DLL) must exactly match those expected by the routine. Calling conventions deal with number, type, and order of arguments. Your program may be calling a routine in a DLL that is being passed the wrong type or number of arguments.
To correct this error
-
Make sure all argument types agree with those specified in the declaration of the routine that you are calling.
-
Make sure you are passing the same number of arguments indicated in the declaration of the routine that you are calling.
-
If the DLL routine expects arguments by value, make sure ByVal is specified for those arguments in the declaration for the routine.