在Python中使用ctypes返回结构
我正在编写一个Python程序,它从海康威视有限公司生产的IP摄像机读取YV12帧数据. 在SDK中,他们提供了一个函数调用,允许我设置一个Callback来检索Frame Data. 我的回调函数是这样的:
$
$ 我使用以下代码来设置回调函数:
然后SDK调用回调函数,它打印出以下内容:
正确读取了c_long(lPort和lSize)这样的简单类型,但pFrameInfo结构没有我定义的字段.我无法读取pFrameInfo.nWidth,因为它说没有这样的属性…… 我的问题是: 我相信,由于已经从dll中读取了pFrameInfo,有没有办法通过剪切和读取pFrameInfo的内存空间中的字节来获取存储在pFrameInfo结构中的c_long数据?由于pFrameInfo的所有属性都是c_long,因此可以逐字节读取结构,可以重构c_long变量的值.我只是在猜测.请帮忙,对我来说这是一个非常大的问题… 最佳答案
我认为您需要取消引用指向FRAME_INFO的指针:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |