Seite 1 von 1

CLib ansprechen

Verfasst: Dienstag 4. Juli 2006, 07:15
von antimicro
Hi,
ich suche einen äquivalenten Datentyp - zu BSTR* - damit ich meine, kompilierte Library, mit Python ansprechen kann (ctypes).

Ich poste einfach mal den Prototyp:
long GetDataFile(BSTR* Data, long Num);

Verfasst: Dienstag 4. Juli 2006, 08:31
von BlackJack
Da wirst Du in der Doku oder im Quelltext nachschauen müssen was `BSTR` in C ausgedrückt genau ist und das dann als `ctypes` Typ nachbauen.

Verfasst: Mittwoch 5. Juli 2006, 07:24
von antimicro
Laut MS ist BSTR ein 32bit Character Zeiger. Ich hatte an

Code: Alles auswählen

msg = ctypes.c_char * 32
p_msg = ctypes.POINTER(msg)

gedacht, aber dann hab ich ja 32 Character :?

Verfasst: Mittwoch 5. Juli 2006, 08:54
von BlackJack
Also Du meinst die Zeichen sind 32-Bit breit? Dann könnte `ctypes.c_wchar_p` das richtige sein. `ctypes.c_wchar` ist bei mir nämlich 4 Bytes gross:

Code: Alles auswählen

In [8]: ctypes.sizeof(ctypes.c_wchar)
Out[8]: 4