我在哪里可以找到VARIANT类型代码? (vboxapi问题)

时间:2011-03-02 19:25:27

标签: python windows com virtualbox variant

我正在通过COM使用vboxapi,我注意到一个错误......调用IMedium.CreateBaseStorage,因为他们已定义它会产生错误,“无效的VARIANT类型:20”。我将20的值更改为19,这是另一个(整数)参数的VARIANT:

        def _patch_createBaseStorage(self, aLogicalSize, aVariant):
            from win32com.client import Dispatch
            LCID = 0x0
    ret = self._oleobj_.InvokeTypes(1610743844, LCID, 1, (9, 0),
                                            ((19, 1), #used to be: (20, 1),
                                             (19, 1)),aLogicalSize
        , aVariant)
    if ret is not None:
        ret = Dispatch(ret, u'CreateBaseStorage', '{A163C98F-8635-4AA8-B770-A9941737F3EF}', UnicodeToString=0)
    return ret  

然而,这不起作用,因为值是硬盘驱动器的大小(以字节为单位),这意味着它最多可以是4千兆字节,而我需要制作80,120,250 GB硬盘等。 / p>

那么什么是8字节整数的VARIANT类型?我假设它是VT_I8,但数值是多少?为了将来参考,我在哪里可以找到它们?

如果价值是20那么我就搞砸了,因为那是失败的价值......在这种情况下,其他人都有建议吗?

1 个答案:

答案 0 :(得分:1)

Here是一个来源(表格底部)。