gpt4 book ai didi

python - python ctypes中的未知数组长度

转载 作者:行者123 更新时间:2023-11-28 16:54:02 24 4
gpt4 key购买 nike

我正在使用 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因为我不拥有内存(无法调整内存大小,因为此对象不拥有它)。

最佳答案

修改 Scott 的答案以删除 resize() 调用有效:

def customresize(array, new_size):
return (array._type_*new_size).from_address(addressof(array))

关于python - python ctypes中的未知数组长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3192638/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com