An exportable function has a struct as a one of the parameters. This DLL is used by many Exes
One of the EXEs needs to send some additional data, so we have added one member at the end of the struct and distributed the DLL.
Now my question is, if we put the new DLL in other EXEs which are not aware of the extra member, will that cause problems?
The DLL should not try to access the structure data member, which is not present in EXE. How do I handle this situation?
Note: Adding new API is not allowed in the DLL.
If other functions accept the
structby value, i.e. not by taking a pointer to it, then yes, there very likely will be problems. Your calling code will place a largerstructon the stack than the receiving function will remove, causing net stack growth and general badness.