2011-11-17 50 views
0

我與具有以下功能Python和進口的dll工作:的指針合作,結構

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

,我用這個功能來讀取我的目標存儲器。

我想創建在python結構,是相同於我的目標結構定義,然後在python讀取它

IE如果我用C,我會寫, ReadMem(0x10000000的,200,& mem_struct) ;

  1. 什麼是定義結構(ctype結構類或結構)的最佳方式是什麼?
  2. 我用命令類型結構類:
class memory(Structure): 

    fields_ = [("x", c_int), 
       ("y", c_int)] 

我的問題是:我如何可以調用與指針ReadMem功能,這個結構?我嘗試使用CTYPE指針(IE PI =指針(內存)),但我得到的TypeError

回答

0

我遇到類似的問題的答案就在this SO link

和學習,我需要使用下面的代碼:

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

注:使用byref(內存)大概也可以工作