0
私はctypes経由でPython関数を呼び出しているDLLにC関数を持っています。Pythonに渡されたCバッファへのデータの追加Ctypesコールバック
void GetData(u8 Buffer[], u16 Length);
なお、DLLに保持されている静的データアレイにバッファポイント:
C関数は、次のプロトタイプを持つ関数を呼び出します。
私は次のように、このためのPythonの関数型を生成した:
CFUNCTYPE(None, c_char_p, c_int)
そして、私のPythonのコールバック関数は、任意の明白な問題なしで呼び出されています。
私の問題は、ctypesにPythonの外部にあるバッファに生のデータを追加する方法を教えてもらえません。 ctypes文字列バッファを定義し、それにDLLのバッファのアドレスを与える方法はありますか?
あなたの答えをありがとう - あなたは本当に右のラインに沿って私を指摘: - 私はlibcのをインポートする必要はありませんでした - 私は、ctypesのはmemcpyををラップMEMMOVE機能を持っていることが分かりました。 CFUNCTYPE(None、c_char_p、c_int)ではなく、CFUNCTYPE(None、POINTER(c_char)、c_int)として関数型を宣言することが唯一必要なことです。 –