[python-win32] COM server and pointer to pointer parameter
ricercar at infinito.it
ricercar at infinito.it
Tue Nov 25 16:32:54 CET 2008
At 09.35 13/11/2008 +1100, you wrote:
>That is another clue that makes me think the marshaller might be involved.
>Have you changed pippo to only support out-of-process registration?
>Cheers,
>Mark
Sorry for replying late, I had some problems and I could not do tests on
pippo_server before.
Well the situation is this:
- on Windows Vista everything is working fine (python 2.5)
- on XP and 2K the QueryInterface with iid to NULL is always called. I tried
to set _reg_clsctx to both CLSCTX_LOCAL_SERVER and CLSCTX_INPROC_SERVER
without success. The messages have minimal differences but the result is
that Method1 fails.
At this point I don't known what to test and don't know what are the
differences between the OSes.
with
_reg_clsctx_ = pythoncom.CLSCTX_LOCAL_SERVER
{1C733A30-2A1C-11CE-ADE5-00AA0044773D}
in <pippo_server.CPippo instance at 0x01007A08>._QueryInterface_ with
unsupported IID {1C733A30-2A1C-11CE-ADE5-00AA0044773D}
({1C733A30-2A1C-11CE-ADE5-00AA0044773D})
{F1A3CC2E-4B2A-4A81-992D-67862076949B}
Object with win32trace dispatcher created (object=<pippo_server.CPippo
instance at 0x00EE95F8>)
{00000000-0000-0000-0000-000000000000}
Traceback (most recent call last):
File "C:Python25libsite-packageswin32comserverdispatcher.py", line 41, in
_QueryInterface_
return self.policy._QueryInterface_(iid)
File "C:Python25libsite-packageswin32comserverpolicy.py", line 261, in
_QueryInterface_
print iid
com_error: (-2147221005, "Stringa dell'interfaccia non valida.", None, None)
pythoncom error: Failed to call the universal dispatcher
Traceback (most recent call last):
File "C:Python25libsite-packageswin32comuniversal.py", line 193, in
dispatch
WriteFromOutTuple(retVal, meth._gw_out_args, argPtr)
<class 'pywintypes.com_error'>: (-2147467262, 'Interfaccia non supportata.',
None, None)
{1C733A30-2A1C-11CE-ADE5-00AA0044773D}
in <pippo_server.CPippo instance at 0x01007A08>._QueryInterface_ with
unsupported IID {1C733A30-2A1C-11CE-ADE5-00AA0044773D}
({1C733A30-2A1C-11CE-ADE5-00AA0044773D})
--------------
without
_reg_clsctx_ = pythoncom.CLSCTX_LOCAL_SERVER
Object with win32trace dispatcher created (object=<pippo_server.CPippo
instance at 0x015A96C0>)
{00000000-0000-0000-0000-000000000000}
Traceback (most recent call last):
File "C:Python25libsite-packageswin32comserverdispatcher.py", line 41, in
_QueryInterface_
return self.policy._QueryInterface_(iid)
File "C:Python25libsite-packageswin32comserverpolicy.py", line 261, in
_QueryInterface_
print iid
com_error: (-2147221005, "Stringa dell'interfaccia non valida.", None, None)
pythoncom error: Failed to call the universal dispatcher
Traceback (most recent call last):
File "C:Python25libsite-packageswin32comuniversal.py", line 193, in
dispatch
WriteFromOutTuple(retVal, meth._gw_out_args, argPtr)
<class 'pywintypes.com_error'>: (-2147467262, 'Interfaccia non supportata.',
None, None)
Traceback (most recent call last):
File "pippo-test.py", line 21, in <module>
p = obj.Method1()
_ctypes.COMError: COMError(0x80004005, 'Errore non specificato.', (None,
None, None, 0, None))
Best regards,
Enrico
More information about the python-win32
mailing list