Я хотел бы сделать что-то на Machine01 через интерфейс COM-объекта, который я вызываю на Machine02. Сам COM-объект записан в python, и обе машины зарегистрировали этот COM-объект, используя пример в win32com/servers/interp.py
. Я могу успешно создать COM-объект локально, вызвав win32com.client.Dispatch("foo.Server")
на обеих машинах.
Из Machine02 я звоню
win32com.client.DispatchEx("foo.Server", machine="Machine01", clsctx=pythoncom.CLSCTX_REMOTE_SERVER)
в попытке получить COM-объект, который я затем могу использовать для выполнения операций на Machine01. Однако, когда я вызываю это, я получаю трассировку:
"X:\local\projects\example.py", line 5, in <module>
i = win32com.client.DispatchEx("foo.Server", machine="Machine01", clsctx=pythoncom.CLSCTX_REMOTE_SERVER)
File "C:\Python27\Lib\site-packages\win32com\client\__init__.py", line 112, in DispatchEx
dispatch = pythoncom.CoCreateInstanceEx(clsid, None, clsctx, serverInfo, (pythoncom.IID_IDispatch,))[0]
pywintypes.com_error: (-2146959355, 'Server execution failed', None, None)
Я неправильно вызываю DispatchEx?