Und warum machst du es nicht wie es eben üblich wäre?
Delphi-Quellcode:
// "Neue" Funktion ("alte" kopiert und neue Parameter angefügt)
procedure TestEx(prm1, prm2, prm3: Pchar; prm4, prm5: Boolean); stdcall;
begin
...
end;
// "Alte" Funktion (ruft die "neue" mit den vorgegebenen hinzugekommenen Parametern auf)
procedure Test(prm1, prm2, prm3: Pchar); stdcall;
begin
procedure TestEx(prm1, prm2, prm3, False, True);
end;
exports
Test,
TestEx;
begin
end.
So bleibst du kompatibel und kannst neue Funktionalität hinzufügen.
Sinnvoller wäre es allerdings, wenn du den Pointer zu einer Struktur als einzigen Parameter hättest und das erste Member dieser Struktur die Größe wäre. So könntest du je nach Größe der Struktur unterscheiden welche "Version" deiner Funktion der Aufrufer gerade aufrufen will. Wenn du das nicht machst, mußt du immer wieder "Ex" an den Namen anfügen oder deine Funktionsversionen durchnummerieren.
Nach einer Weile könnte das etwas unübersichtlich werden