将byref参数传递给Python的VB6 COM DLL

tos*_*osa 5 python vb6 byref

我有一个VB6 COM DLL,其函数声明如下:

Public Function testFunc(ByRef v1 As Long) As Boolean
Run Code Online (Sandbox Code Playgroud)

当我尝试使用Python2.7调用它时:

var1 = c_long()
VB6DLL.testFunc(X1)
Run Code Online (Sandbox Code Playgroud)

如果X1是var1,那么我得到异常:"int()参数必须是字符串或数字,而不是'c_long'"

如果X1是yref(var1),那么我得到异常:"int()参数必须是字符串或数字,而不是'cArgObject'"

如果VB6函数使用ByVal参数并从Python发送正确的参数,一切都很好.那么如何发送引用,因为我希望DLL修改值?为什么ByRef参数变成int()?