python - 将 args 传递给 DLL 函数调用时没有足够的参数(缺少 20 个字节)

标签 python dll ctypes

我正在尝试使用 ctypes 调用 dll 函数并收到错误。我如何才能获得有关我的电话有什么问题的更多信息?

dll函数头:

DLL_API BOOL WINAPI DDSSetFrequency(int index, double frequency, int* wavePointNum, int* TNum); 

python代码

from ctypes import *

hantek = cdll.LoadLibrary("E:\Programmer's Guide\DLL\DDS3X25Dll.dll")
print hantek.DDSSearch()

wavePointNum = c_int()
Tnum = c_int()
frequency = c_double(10000000.0)
index = c_int32(1)

hantek.DDSSetFrequency(index,frequency,byref(wavePointNum),byref(Tnum))


1
Traceback (most recent call last):
  File "3x25.py", line 17, in <module>
    hantek.DDSSetFrequency(index,frequency,byref(wavePointNum),byref(Tnum))
ValueError: Procedure called with not enough arguments (20 bytes missing) or wro
ng calling convention

最佳答案

您可能不会继续从事这个项目,但如果您正在从事这个项目(并且为了后代),我提供了一个 link to a python wrapper我为演示工作接口(interface)的 HT1025G 编写了代码。 set_frequency 方法有点挑剔,我发现(未记录的)set_divisor 方法运气更好。

关于python - 将 args 传递给 DLL 函数调用时没有足够的参数(缺少 20 个字节),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13822387/

相关文章:

Python ctypes in_dll 字符串赋值

python - 将一串单词变成一个列表,所有单词都分开

python - 来自多个对象的 Django ForeignKey

c++ - Delphi - 从静态链接的 MSVC++ 编译的 DLL 捕获 stdout 和 stderr 输出

c# - 从 C# 调用旧的 OLE 组件

c++\编译成功,无法调试 - STATUS_DLL_NOT_FOUND

python - 如何在 Python 中正确加载 Windows COM DLL

python - 元类使类方法成为默认方法?

python - 使用 node-python 从托管在 python 下的 Web 应用程序执行 python 脚本?

python - 如何在Python中将PyHANDLE对象传递给CP2108 dll函数(CP210xRuntime.dll)?