我在一个库中有一个python方法,它以PyCapsule的形式返回一个图像句柄。我需要将这个句柄传递给另一个库,它期望它以c_void_p的形式返回。我如何将这个容器转换成c_void_p来促进这个互操作?我在Python中尝试了以下类型转换,但没有效果
addr = ctypes.py_object(capsule)
ars1skjm1#
谢谢。以下实现工作正常。
ctypes.pythonapi.PyCapsule_GetName.restype = ctypes.c_char_p ctypes.pythonapi.PyCapsule_GetName.argtypes = [ctypes.py_object] name = ctypes.pythonapi.PyCapsule_GetName(capsule) ctypes.pythonapi.PyCapsule_GetPointer.restype = ctypes.c_void_p ctypes.pythonapi.PyCapsule_GetPointer.argtypes = [ctypes.py_object, ctypes.c_char_p] addr = ctypes.pythonapi.PyCapsule_GetPointer(capsule, name) addr = ctypes.c_void_p(addr)
1条答案
按热度按时间ars1skjm1#
谢谢。以下实现工作正常。