2016-06-24 12 views
0

問題は数日間気になっています。 私はPython呼び出しDLLダイナミックリンクライブラリを使用します。 は、これはC++コールバック関数です:Pythonのctypesでは "c_ubyte"は存在しますが、 "c_ubyte_p"は存在しません

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

私はこのようなpythonでそれを再定義:BYTE * pBuffer:

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) 

code.Pleaseと間違って何かが三番目のパラメータを見てあります。 ctypesでは "c_ubyte"は存在しますが、 "c_ubyte_p"は存在しません。 これを修正するにはどうすればよいですか? 最後に、私は英語が上手ではないと言わなければなりません。

答えて

0

ctypesでは、POINTER(c_ubyte)を使用できます

関連する問題