Python:dll函数返回void *

时间:2016-03-30 13:57:29

标签: python dll

我是Python新手,我正在尝试处理自定义dll。这是我的问题。

我可以使用ctypes.cdll.LoadLibrary()函数加载dll

我对dll的第一个调用是一个应该向对象返回void *的函数。这是功能:

<Import Project="$(FSharpTargetsPath)" />

将指针保存到Device以备将来使用的代码应该是什么?像这样的东西?

void * Create(void)
{
    if ( !gInitCalled )
    {
    Init();
    }

    return new Device;
}

通话结束后,MyDevice的值为c_void_p(177734563)。这是对的吗?我猜这是Device对象的地址。

下一个问题:我该如何使用它?如果函数需要输入的void *,它是否正确?

MyDevice = ctypes.c_void_p(Mydll.Create())

来自dll的这个函数返回一个错误,说明无效的参数。如果void *为null,则会引发此问题。

我做错了什么?有什么建议吗?

感谢您的支持。

0 个答案:

没有答案