使用ctypes的Win7 Python 2.6我无法在COM dll中调用函数

时间:2012-12-27 20:41:21

标签: python windows ctypes

在Win7上使用Python 2.6和ctypes我试图在COM dll中调用函数但没有成功 这是我正在做的代码片段。

import ctypes
from ctypes import *
h_func = c_int(0);
h_c    = c_int(0);
h_text = ctypes.create_string_buffer(32);
usbDll = ctypes.WinDLL ("c:\\temp\\PwrUSBDll.dll");
CheckStatusPowerUSB = usbDll.CheckStatusPowerUSB;
InitPowerUSB = usbDll.InitPowerUSB;
#
#===This is where it all goes down the tubes.
#
InitPowerUSB (byref(h_func), byref(h_text), byref(h_c));
#
# I keep getting a WindowsError: exception: access violation writing 0x00000000
#
print h_func.value;
print h_text.value;
print h_c.value;

InitPowerUSB接受两个参数来返回数据并返回返回码 谁能帮我这个。我在C#中工作没有问题。

1 个答案:

答案 0 :(得分:1)

为什么不使用pypowerusb

查看relevant header fileInitPowerUSB只接受一个参数,一个指向整数的指针,同时提供三个参数。

尝试使用一个参数调用该函数。