Ваша функция обратного вызова выглядит как функция C с прототипом:
void __stdcall Callback(uint32)
Вам не нужно делать ничего особенного, чтобы получить доступ к self
. Магия ctypes
организует это для вас. Код, который вам нужен, выглядит примерно так:
class MyClass():
def myMethod(self):
def myCallback(p1):
print "Callback called!"
# self is available here
callback = ctypes.WINFUNCTYPE(ctypes.c_void_p,
ctypes.c_uint32)(myCallback)
somedll.setCallback(callback, 0)