was heißt "scheint nicht zu funktionieren"? hast du in die
dll mal debugausgaben gemacht bzw. die
DLL einfach im Debugger laufen lassen? Dann siehst du was für Werte rein gegeben werden etc.
Und wie rufst du das ganze auf? Vielleicht ist die Art des Aufrufs einfach fehlerhaft.