2
파이썬에서 ctypes
을 사용하여 C 함수를 호출하고 있습니다. 라이브러리가 할당 한 메모리에 구조체에 대한 포인터를 반환합니다 (응용 프로그램에서 나중에 다른 함수를 호출하여 나중에 해제합니다). 내가 ctypes에 맞게 함수 호출을 마사지하는 방법을 알아내는 데 어려움을 겪고 있습니다.파이썬 ctypes에서 알 수없는 배열 길이
class WLAN_INTERFACE_INFO_LIST(Structure):
_fields_ = [
("NumberOfItems", DWORD),
[...]
("InterfaceInfo", WLAN_INTERFACE_INFO * 1)
]
가 어떻게 나를 InterfaceInfo 배열의 n 번째 항목에 액세스 할 수 있도록하는 ctypes를 알 수 있습니다 :
struct WLAN_INTERFACE_INFO_LIST {
DWORD dwNumberOfItems;
[...]
WLAN_INTERFACE_INFO InterfaceInfo[];
}
나는이처럼 보이는 구조의 서브 클래스를 사용했습니다 : 같은 구조체가 보인다?
메모리가 (Memory cannot be resized because this object doesn't own it
) 아니기 때문에 Scott's excellent customresize()
function을 사용할 수 없습니다. resize()
호출을 제거하는
당신이 어떻게 사용되는지 설명 할 수 있습니까? 크기 조정을 시도했지만 반환했습니다 :'(lu_list.contents) .guid = customresize (lu_list.contents) .guid, (lu_list.contents) .cnt)' 'TypeError : 호환되지 않는 유형, GUID_Array_1 대신 인스턴스 GUID_Array_4 인스턴스' – Awalias