No - it is not possible from a standard Windows DLL to ascertain the parameters used in an exported function. The only information available to you is the name and/or the ordinal number of the function (which both points to the entry point in the .DLL of the first instruction of the exported function).
If the .DLL is made in Microsoft C++, you can use Name Mangling, but this will in essence make a new exported function each time you change the signature (parameter list and/or return value) of the function, thus will eliminate backwards compatibility (the parameters of the function is appended to the exported name in encoded form, so that - f.ex. - an exported function
void MyFunc(int p1)
will be exported as (just making it up here, to illustrate):
MyFunc@jefal8936
and if you change it to
void MyFunc(int p1, char p2)
then the exported name could suddenly become
MyFunc@kaybx42
Thus an old compiled program that linked to MyFunc@jefal8936 wouldn't be able to find its entry point any more (and would thus fail to even load if linked with static linkage).
The only way to accomplish what you are attempting to do is to make a new exported function in your .DLL (one convention is to use FuncNameEx as the "extended" version with additional parameters) and then you can call FuncNameEx from your older FuncName function (assuming that you can "translate" the parameters of the old function to the new one).