在Win7上使用Python 2.6和ctypes我試圖在COM DLL中調用函數但沒有成功。
這是我正在做的一個代碼片段。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#沒有問題。
您似乎傳遞三個參數而不是兩個。除非您向我們展示C頭文件或C#pinvoke,否則我們不知道如何調用此函數。 –
更重要的是,這不是COM。這只是一個普通的DLL調用。 –