i use a dll with mIRC, but having problem with this function

Code:
extern "C" int WINAPI Test(HWND, HWND, char *data, char *parms, BOOL, BOOL) {
  //after the echo call in mIRC, parms would be 'Hello' right?
	_fstrcpy(data, parms);
	return 3;

//3 means that the DLL has filled the data variable with the result that $dll() as an identifier should return.
}
so when i do //echo -a $dll(test.dll, Test, hello) - the 'hello' being the paramter, it should echo the word Hello but it doesnt, im guessing the function is wrong?