【问题标题】:where can i find VARIANT type codes? (vboxapi problem)我在哪里可以找到 VARIANT 类型代码? (vboxapi问题)
【发布时间】:2011-07-07 12:55:37
【问题描述】:

我正在通过 COM 使用vboxapi,我注意到一个错误...调用IMedium.CreateBaseStorage,因为他们已经定义它会产生错误,“无效的变体类型: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 GB,而我需要制作 80、120、250 GB 的硬盘等。

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

如果值为 20,那我就完蛋了,因为那是失败的值......在这种情况下,还有其他人有什么建议吗?

【问题讨论】:

标签: python windows com virtualbox variant


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-08-31
    • 1970-01-01
    • 2019-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多