tôi cần phải truy cập vào một máy chủ COM của bên thứ ba với sau định nghĩa giao diện (IDL):Python win32 com: cách xử lý tham số 'out'?
interface IDisplay : IDispatch
{
HRESULT getFramebuffer (
[in] ULONG aScreenId,
[out] IFramebuffer * * aFramebuffer,
[out] LONG * aXOrigin,
[out] LONG * aYOrigin);
};
Như bạn thấy, nó sẽ trả về 3 giá trị qua [out] tham số modificators. Làm thế nào để xử lý này thông qua python win32 COM api? Ví dụ: tôi tạo một đối tượng và nhận IDisplay từ nó:
object = win32com.client.Dispatch("VirtualBox.VirtualBox")
display = object.display
Làm thế nào để gọi display.getFrameBuffer() để nó hoạt động? Tôi đã thử các cách khác nhau, nhưng luôn luôn 'loại không phù hợp' đối với đối số thứ hai ([out] cho IFrameBuffer)
Tôi đã thử, nó làm tăng 'số tham số không hợp lệ'. Tôi không chắc chắn làm thế nào để sử dụng MakePy nếu máy chủ COM là bên thứ ba. Nó được cài đặt trên hệ thống như là một máy chủ COM nhị phân và đăng ký. Có thể thay đổi API của nó không? – grigoryvp