CLib ansprechen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
antimicro
User
Beiträge: 151
Registriert: Sonntag 29. Februar 2004, 16:24

Dienstag 4. Juli 2006, 07:15

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);
greetings
sebi
BlackJack

Dienstag 4. Juli 2006, 08:31

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.
antimicro
User
Beiträge: 151
Registriert: Sonntag 29. Februar 2004, 16:24

Mittwoch 5. Juli 2006, 07:24

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 :?
greetings
sebi
BlackJack

Mittwoch 5. Juli 2006, 08:54

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
Antworten