DLL中有一个函数(C语言)link("parameters", &connection);
它接受一个字符串参数并初始化一个连接。
有一个函数connect(connection)
,其中连接 - 对象,通过调用link()
初始化。
问题:如何将Python连接对象函数Connect()作为参数传递?
from ctypes import *
mydll = CDLL (link.dll)
# How define the connection object?
top = link ("localhost: 5412", connection)
top = connect (connection)
答案 0 :(得分:0)
我相信winapi句柄是32位长,但你可能需要确保它是真正的长度。如果您没有以任何其他方式使用 connection ,也许您可以这样做:
connection_t = ctypes.c_uint32
link = mydll.link
link.argtypes=(ctypes.c_char_p, ctypes.POINTER(connection_t) )
connect = mydll.connect
connect.argtypes=(connection_t,)
...
connection = connection_t()
link ("localhost: 5412", ctypes.byref(connection))
...
请注意: