如何在Python中检索VB6 DLL函数返回的字节数组?

如何在Python中检索VB6 DLL函数返回的字节数组?,python,arrays,dll,vb6,Python,Arrays,Dll,Vb6,我的VB6 DLL有一个子库,它通过byref参数修改字节数组。如何在Python中传入此参数?我使用create_string_buffer并通过byref传递它,但我得到了一个异常:“safearray的对象必须是序列或缓冲区对象。”这是什么意思 注:如果我将子函数设为a函数并返回数组,那么一切都可以……但我想知道如何将其作为参数来执行,以便可以修改多个参数和/或发送返回状态。这里有点猜测。。。如果您有一个声明,它看起来像:当您调用它时,将sub fredx声明为整数,那么VB只会传递指向它

我的VB6 DLL有一个子库,它通过byref参数修改字节数组。如何在Python中传入此参数?我使用create_string_buffer并通过byref传递它,但我得到了一个异常:“safearray的对象必须是序列或缓冲区对象。”这是什么意思


注:如果我将子函数设为a函数并返回数组,那么一切都可以……但我想知道如何将其作为参数来执行,以便可以修改多个参数和/或发送返回状态。

这里有点猜测。。。如果您有一个声明,它看起来像:当您调用它时,将sub fredx声明为整数,那么VB只会传递指向它的指针。但是,如果您将fred x声明为整数,那么将x作为安全数组传递。你的声明是什么样子的?VB6 DLL是COM,所以我注册它并在Python中创建一个对象…在VB6中,sub被定义为公共sub Foo ByRef arg as byte。我想这意味着Foo需要一个安全数组。谷歌搜索错误消息表明,如果Python声明正确,它将为您执行该转换。