# -*- coding: cp936 -*-
import ctypes
lib=ctypes.CDLL(r'C:\Users\Administrator\Desktop\卡驱动\myKeyApi.dll')
handle=0#设备句柄
ret=2
ret = lib.XF_EnumDev(0,'0')
ret = lib.XF_OpenDev(0,handle)#dll原型为int XF_OpenDev(int index, void* hHandle);作用是修改hHandle的值,此值为设备的句柄,python中如何设置此变量hHandle
#若用python调用dll中此函数则lib.XKF_OpenDev()中参数如何设置???????若按照我上面的设置则#运行报下列错误
#python中如何通过调用改变实参值啊(C语言可以改变地址的值)如此例中如何通过调用改变handle的值
#python中的变量与C语言中的变量关系,特别是地址方面
#运行会报如下错误:
#Traceback (most recent call last):
# File "C:/Users/Administrator/Desktop/help.py", line 7, in <module>
# ret = lib.XF_OpenDev(0,handle)#dll原型为int XF_OpenDev(int index, void* hHandle);
#WindowsError: exception: access violation writing 0x00000000
ret = lib.XF_OpenDev(0, ctypes.byref(handle))
handle作为指针传进去后如果被改掉,返回的是一个c_int 或者c_long, 你可以通过handle.value来获得可以在python中灵活运用的真正的python整形