Ich habe eine DLL gegeben welche eine C-Funktion enthält, die genauen Abläufe der Funktion kann ich mir leider nicht besorgen. Jedoch ist der Prototyp der Funktion bekannt.
Code: Alles auswählen
funktion (
const unsigned char * inputarray,
unsigned int id,
unsigned char * outputarray
);
So weit so gut, also habe ich mich mit ctypes ein bisschen beschäftigt und googelt und bin zu folgendem Ergebnis-Code gekommen:
Code: Alles auswählen
from ctypes import *
lib = CDLL('funktionlib.dll')
lib.funktion.argtypes = [
(c_char*6),
c_uint,
(c_char*8)
]
inputarray = (c_char*6)()
inputarray.value = b'001005'
id = 5
outputarray = (c_char*8)()
outputarray.value = b'00000000'
lib.funktion(inputarray, id, outputarray)
Code: Alles auswählen
p_to_outputarray = cast(outputarray, POINTER(c_char))
Kann mir jemand helfen?