私はCでコードを持っています:
typedef result function_callback(struct mes_t* message, void* data)
struct mes_t
{
uint32_t field1
uint32_t field2
void* data
};
function_one(&function_callback, data)
アプリケーションは、( function_oneで) ユーザー定義のコールバック関数function_callbackを呼び出します。コールバック関数では、field1、field2、およびデータ パラメータが渡されます (データは通常 0 です)。
この例の python のコードは正しく書かれているでしょうか?
class mes_t(ctypes.Structure):
pass
mes_t._fields_ = [
('field1', ctypes.c_uint32),
('dfield2', ctypes.c_uint32),
('data', ctypes.POINTER(ctypes.c_void_p))]
data_t=ctypes.c_void_p
data=data_t()
CALLBACK=CFUNCTYPE(ccg_msg, data_t)
cb_func=CALLBACK()
result = function_one(ctypes.byref(cb_func), ctypes.byref(data))