Entwickler-Ecke

Windows API - Procedure manuell aufrufen


Boldar - So 23.08.09 09:02
Titel: Procedure manuell aufrufen
Hi,
kann man irgendwie eine Prozedur aufrufen, von der man nur den Pointer hat?
Dann müsste man sich ja selber um Parameter kümmern und diese auf den Stack legen/In die Register schreiben.
Gibs dafür ein beispiel?
(Mir ist klar, dass das wahrscheinlich nur mittels des inline-asm geht)
mfg Boldar


jaenicke - So 23.08.09 09:19

1. Sind es nur bis zu drei "normale" 4 Byte Parameter? (Dann würden die Register ausreichen)
2. Sind diese Parameter fest oder ändert sich deren Anzahl?
3. Ist es eine Methode einer Klasse oder eine normale Prozedur?


Boldar - So 23.08.09 15:28

Es geht konkret um API-Aufrufe aus der User.dll, mit allen nur denkbaren Parametern, also sowohl Pchars, als auch integer als auch z.B. Records (Dessen Speicherstructur und Größe dann natürlich bekannt ist).
Es wird dann also die Aufrufkonvention stdcall verwendet.
mfg Boldar


BenBE - So 23.08.09 19:39

DynaCall (Ist eine kleine COM-Class, die einem den Aufruf soweit abnimmt)...

Source dafür ist verfügbar, wenn auch nicht grad der beste ...

http://freenet-homepage.de/gborn/WSHBazaar/WSHDynaCall.htm