我有一个C函数,它将指针(用于输出)带到以下结构:
class MacFrame(ctypes.Structure):
_fields_ = [("buffer", ctypes.c_ubyte * 128),
("length", ctypes.c_ubyte),
("nodeid", ctypes.c_uint)]
然后,我需要使用以下调用C函数的Python函数将缓冲区和长度字段转换为bytearray
对象以返回它,但我不清楚语法应该是什么:
def recv(self, bufsize):
frame = MacFrame()
self.Api.otListenerRead(ctypes.byref(frame))
return bytearray(frame.buffer, frame.length), frame.nodeid
我知道bytearray(frame.buffer, frame.length)
不正确,但我不知道最好的方法是什么。