【发布时间】:2017-04-17 10:41:29
【问题描述】:
我通过 ctypes 将一个 dll 集成到 python 中,该 dll 需要设置一个回调函数。但是dll回调函数声明如下
void setCallBack(void(*)(Data &a))
Data is C struct, declare as below
typedef struct {
int index,
....
}Data
我不清楚如何通过ctypes设置它,我尝试如下,但返回“WindowsError:[Error -1073741795] Windows Error 0xC000001D”错误,你能帮忙举个例子如何设置回调。
mydll = cdll.LoadLibrary("XXX.dll")
callback_type = CFUNCTYPE(None, POINTER(Data))
callback = callback_type(Data)
mydll.setCallBack(callback)
def dataResponse(data):
print data.index
class Data(ctypes.Structure):
_fields_ = [("index", c_int)]
【问题讨论】: