Как вызвать win32com.client.DispatchEx для создания COM-объекта для использования на другом компьютере - PullRequest
0 голосов
/ 20 февраля 2020

Я хотел бы сделать что-то на 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?

...