2016-06-24 9 views
0

Das Problem hat mich für ein paar Tage belästigt. Ich benutze Python Call DLL Dynamische Link-Bibliothek. Diese ist C++ Callback-Funktion:In Python Ctypes, "C_ubyte" Existenzen, aber "C_ubyte_p" existiert nicht

typedef void(CALLBACK *fRealDataCallBack)(
    LONG  lRealHandle, 
    DWORD  dwDataType, 
    BYTE  *pBuffer, 
    DWORD  dwBufSize, 
    DWORD  dwUser 
); 

ich neu definiert es in Python wie folgt aus:

def realdatacallback(lRealHandle, dwDataType, fBuffer, dwBufSize, pUser): 
    print("hi") 

pRealDataInfoFv = CFUNCTYPE(c_long, c_int, c_char_p, c_int, c_void_p) 
pRealDataInfoHandle = pRealDataInfoFv(realdatacallback) 

Es ist etwas falsch mit dem code.Please Blick auf den dritten Parameter: BYTE * pBuffer. In ctypes, "c_ubyte" Existenzen, aber "c_ubyte_p" existiert nicht. Wie kann ich das beheben? Schließlich muss ich sagen, dass ich nicht gut in Englisch bin.

Antwort

0

In ctypes können Sie POINTER (c_ubyte)

verwenden