M
mzdude
I need to interface with a windows DLL that has the following
signature
extern "C" void Foo( BSTR in, BSTR *out )
Code so far
Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
hdl(inStr,byref(out))
TypeError: byref() argument must be a ctypes instance, not
'_ctypes.SimpleType'
Also tried the following
Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
hdl(inStr,p)
ValueError: Procedure probably called with too many arguments (8 bytes
in excess)
Any feedback would be appreciated.
signature
extern "C" void Foo( BSTR in, BSTR *out )
Code so far
from ctypes import *
import comtypes
LPBSTR = POINTER(comtypes.BSTR)
hdl = windll.MyDll.Foo
hdl.rettype = None
hdl.argtypes = [comtypes.BSTR, LPBSTR]
inStr = comtypes.BSTR(u'Some Silly String')
out = comtypes.BSTR
hdl(inStr,byref(out))
Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
hdl(inStr,byref(out))
TypeError: byref() argument must be a ctypes instance, not
'_ctypes.SimpleType'
Also tried the following
Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
hdl(inStr,p)
ValueError: Procedure probably called with too many arguments (8 bytes
in excess)
Any feedback would be appreciated.