开发者社区> 问答> 正文

nRst = dll.EnumWdDevPath(a,b)//如何把b的值打印出来???:报错

请教python 调用DLL函数的问题。DLL中函数声明如下:
BOOL WINAPI EnumWdDevPath(UCHAR * nDevNum,char DevPath[32][128]),这是个枚举设备的函数,在Python中,我调用的时候应该如何取出返回的参数值呢?
from ctypes import *
def create_char_table(n, m):
    ret = (c_char_p * n)()
    for i in range(n):
        ret[i] = addressof((c_char * m)())
    return ret
#加载API库
dll = windll.LoadLibrary( 'wdkmgr.dll' )
DevNum=c_ubyte(0)
DevPath = create_char_table(32,128)
a= pointer(DevNum)
b= byref(DevPath)
nRst = dll.EnumWdDevPath(a,b)//如何把b的值打印出来???

展开
收起
kun坤 2020-06-14 13:46:54 1238 0
1 条回答
写回答
取消 提交回答
  • print(b._obj.contents)

    2020-07-08 17:24:59
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载