使用指向struct的指针

时间:2011-11-17 14:48:33

标签: python ctypes

我正在使用python并导入具有以下功能的dll:

int ReadMem(long Addr, long NumBytes, void* pData);

我正在使用此功能从目标中读取内存。

我想在python中创建与我的目标中定义的结构相同的结构,然后在python中读取它

I.E如果我使用C,我会写, ReadMem(0x10000000,200,& mem_struct);

  1. 定义struct(ctype Structure类或struct)的最佳方法是什么?
  2. 我使用了ctype Structure类:
  3. class memory(Structure):
    
         fields_ = [("x", c_int),
                   ("y", c_int)]
    

    我的问题是:如何使用指向此结构的指针调用ReadMem函数?我尝试使用ctype指针(I.E pi =指针(内存))但我得到TypeError

1 个答案:

答案 0 :(得分:0)

我在this SO link

中找到了类似问题的答案

并了解我需要使用以下代码:

memory_ptr =  pointer(memory)
ReadMem(0x20000000, 100, memory_ptr)

注意:使用byref(内存)可能也有效