我需要下面的接口定义(IDL)来访问第三方COM服务器:Python win32 com:如何处理'out'参数?
interface IDisplay : IDispatch
{
HRESULT getFramebuffer (
[in] ULONG aScreenId,
[out] IFramebuffer * * aFramebuffer,
[out] LONG * aXOrigin,
[out] LONG * aYOrigin);
};
正如你所看到的,它通过[OUT]参数变质剂返回3个值。如何通过python win32 COM api来处理这个问题?例如,我创建了一个对象,并从中得到IDisplay:
object = win32com.client.Dispatch("VirtualBox.VirtualBox")
display = object.display
如何调用display.getFrameBuffer(),所以它是否行得通呢?我尝试过不同的方式,但它总是'类型不匹配'在第二个参数([输出]为IFrameBuffer)
我试过了,它会引起“无效的参数数目”。如果COM服务器是第三方,我不确定如何使用MakePy。它作为二进制文件安装在系统上并注册COM服务器。是否有可能改变它的API? – grigoryvp 2009-06-30 08:14:10