muszę uzyskać dostęp do serwera COM z innymi firmami z następujących definicji interfejsu (IDL):Python win32 com: jak obsłużyć parametr "out"?
interface IDisplay : IDispatch
{
HRESULT getFramebuffer (
[in] ULONG aScreenId,
[out] IFramebuffer * * aFramebuffer,
[out] LONG * aXOrigin,
[out] LONG * aYOrigin);
};
Jak widać, zwraca 3 wartości przez [out] modyfikatory parametrów. Jak radzić sobie z tym za pośrednictwem python win32 COM api? Na przykład, utworzyć obiekt i uzyskać od niego IDisplay:
object = win32com.client.Dispatch("VirtualBox.VirtualBox")
display = object.display
Jak wywołać display.getFrameBuffer(), więc to będzie działać? Próbowałem na różne sposoby, ale zawsze jest "niezgodność typów" na drugi argument ([out] dla IFrameBuffer)
Próbowałem, podnosi "niepoprawną liczbę parametrów". Nie wiem, jak używać MakePy, jeśli serwer COM jest stroną trzecią. Jest zainstalowany w systemie jako plik binarny i rejestruje serwer COM. Czy można zmienić jego API? – grigoryvp