data is the information that you wish to send to the DLL. On return, the DLL can fill this variable with the command it wants mIRC to perform if any.
parms is filled by the DLL on return with parameters that it wants mIRC to use when performing the command that it returns in the data variable
Putting a command (such as "/echo") in `data` and parameters (such as "-s hello") in `parms` does not work as expected. In fact, I can find no situation under which the data in parms is actually used.