【发布时间】:2023-03-06 07:09:01
【问题描述】:
我有一个C++ dll,其中一个导出函数定义如下:
OPERATEMYSQLSTDCALL_API int __stdcall CheckMac(char * pcMac, OUT LPSTR errorInfo);
我在python中使用它,使用ctypes库,我阅读了一些信息并将其称为follws:
from ctypes import *
lib = WinDLL('OperateMysqlStdcall.dll')
CheckMac = lib.CheckMac
CheckMac.argtypes = [c_char_p, POINTER(c_wchar_p)]
CheckMac.restype = c_int
p1=c_wchar_p()
value = CheckMac('88888888',byref(p1));
print p1.value
但是当我执行它时,它返回 None,我确定 C++ 中的值“OUT LPSTR errorInfo”不为 NULL,我在控制台打印它,它显示正确。谁能告诉我为什么它不能工作在 python 中。非常感谢你!
【问题讨论】:
标签: python c++ ctypes out-parameters