int Result = fnWithdraw(stWithdrawall, stWithdrawdata);
You are passing the complete structures to your dll function instead of the pointers. This should have been shown up by the compiler.
The correct code (I assume) should be:
int Result = fnWithdraw(ptrWithdrawall, ptrWithdrawdata);