私はvboxapi
COM を使用していますが、バグに気付きました...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の場合、それは失敗している値であるため、私は失敗しています...その場合、他の誰かにアドバイスがありますか?