DLL Function which returns values in input parameters
- Posted by Rad <radhx at rediffmail.com> Nov 06, 2006
- 554 views
Hi, I am evaluating a software called 1Way which converts any application into a time-bound trial ware using dll's. All the functions of the provided dll work fine except one. The dll has a function which requires 11 parameters and returns already stored Registration Details. First 2 parameters are input values of string type viz. "Serial Number" and the "Password" used to generate it. The next 9 parameters are of integer type and used by the function to return various registration details in it. Return value of function is True or False. (Note: the actual return values are part of input values provided to function) The structure of function in my application is as follows-
xregGetSerialInfo = registerw32Function(syndreg, "GetSerialInfo", {C_POINTER, C_POINTER, C_INT, C_INT, C_INT, C_INT, C_INT, C_INT, C_INT, C_INT, C_INT}, C_UINT)
The same function structure in the C program Header provided with the software demo is as follows- typedef bool ( __stdcall *pGetSerialInfo )( char*, char*, int, int, int, int, int, int, int, int, int ); The Demo provided with the software works fine giving back the registered details written by my application. But when this function is evoked in my application in Euphoria 3.0.1,
RegOptions = 0 SerialExpire = 0 SerialExpireDay = 0 SerialExpireMonth = 0 SerialExpireYear = 0 RegExpire = 0 RegExpireDay = 0 RegExpireMonth = 0 RegExpireYear = 0 if w32Func(xregGetSerialInfo, {regKey, SrlPass, RegOptions, SerialExpire, SerialExpireDay, SerialExpireMonth, SerialExpireYear, RegExpire, RegExpireDay, RegExpireMonth, RegExpireYear}) then void = message_box("SerialInfo OK", "Msg", 0) else void = message_box("SerialInfo NOT OK !!!", "Msg", 0) end if
I get following error- D:\EUPHORIA\Win32Lib\Include\w32dll.ew:212 in function w32Func() A machine-level exception occurred during execution of this statement funcid = 304 parms = {820204,819788,0,0,0,0,0,0,0,0,0} lRC = <no value> libfunc = <no value> lFuncDef = 15 linked = <no value> memset = 1252492 i = 11 ... called from D:\EUPHORIA\Projects\Syndicate ODBC\Test.ew:60 Can anybody guide me solving this issue? Regards, Rad.