我正在使用Python中的ctypes
调用C函数。它返回一个指向结构的指针,在由库分配的内存中(应用程序调用另一个函数以便稍后释放它)。我无法弄清楚如何按摩函数调用以适应ctypes。结构看起来像:
struct WLAN_INTERFACE_INFO_LIST {
DWORD dwNumberOfItems;
[...]
WLAN_INTERFACE_INFO InterfaceInfo[];
}
我一直在使用看起来像这样的Structure子类:
class WLAN_INTERFACE_INFO_LIST(Structure):
_fields_ = [
("NumberOfItems", DWORD),
[...]
("InterfaceInfo", WLAN_INTERFACE_INFO * 1)
]
如何告诉ctypes让我访问InterfaceInfo数组的第n项?
我无法使用Scott's excellent customresize()
function,因为我没有内存(Memory cannot be resized because this object doesn't own it
)。
答案 0 :(得分:3)
修改Scott的答案以删除resize()
来电:
def customresize(array, new_size):
return (array._type_*new_size).from_address(addressof(array))