0

私はvboxapiCOM を使用していますが、バグに気付きました...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  

ただし、値はハードドライブのバイト単位のサイズであるため、これは機能しません。つまり、80、120、250 GBのハードドライブなどを作成する必要がある間、最大で4ギガバイトになる可能性があります.

では、8 バイト整数の VARIANT 型は何ですか? だと思いVT_I8ますが、数値は?今後の参考のために、どこでそれらを見つけることができますか?

値が20の場合、それは失敗している値であるため、私は失敗しています...その場合、他の誰かにアドバイスがありますか?

4

1 に答える 1

1

これが1つのソースです(下部の表)。

于 2011-03-02T21:24:53.380 に答える