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

2024-09-27 20:18:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在通过COM使用vboxapi,我注意到一个bug。。。调用他们定义的IMedium.CreateBaseStorage会产生一个错误,“Invalid VARIANT type:20”。我将值20改为19,这是另一个(整数)参数的变量:

        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  

但是,这不起作用,因为这个值是硬盘大小(以字节为单位),这意味着它最多可以是4GB,而我需要制作80、120、250 GB的硬盘,等等

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

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


Tags: selfcom字节定义整数bugdispatchret

热门问题