Der Weg ist relativ einfach, wenn die aufgerufene
API-Funktion die möglichkeit bietet, einen Benutzer-definierten 32Bit-Wert zu übergeben,der an die Callback-Fukntion weitergerecht wird. Dann kannst Du folgendes machen:
- Auslagern der Callback-Funktion aus der Klasse
- Aufruf der
API-Funktion mit der Adresse der zu verwendenden Klasse als Benutzer-definierter Parameter
- In der Callback-Funktion muss dann der übergebene 32-Wert auf einen Zeiger auf den Klassentyp gecastet werden und schon hast Du die die Adresse der Klasseninstanz, mit der Du arbeiten möchtest!
Achtung: Du must ggf. sicherstellen, dass die Callback-Funktion im gleichen Thread aufgerufen wird, in dem auch der Aufruf der
API-Funktion erfolgte, ansonsten kann's zu blöden Fehlern kommen. Aber das ist ein anderes Thema.
Gruß
Stefan Schramm