python弹出提示框 ctypes_Python ctypes:使用函数poin时出现窗口错误

我试图使用Python的ctypes来处理DLL,但是当我试图调用作为指向另一个函数的指针传递的函数时,偶尔会遇到问题。在

一点背景知识…我正在尝试使用Dokan(版本0.6.0)构建一个用户空间文件系统。有点松散地说,Dokan基本上是Windows的FUSE。我已经用ctypes包装了dokan头文件(类似于pydokan)。该头文件包含函数指针的定义,如下所示typedef int (WINAPI *PFillFindData) (PWIN32_FIND_DATAW, PDOKAN_FILE_INFO);

它还包含另一个函数的原型

^{pr2}$

相应的ctypes定义如下所示PFillFindData = ctypes.WINFUNCTYPE(ctypes.c_int,

PWIN32_FIND_DATAW,

PDOKAN_FILE_INFO)

FindFilesWithPattern = ctypes.WINFUNCTYPE(ctypes.c_int,

ctypes.c_wchar_p,

ctypes.c_wchar_p,

PFillFindData,

PDOKAN_FILE_INFO)

后一个函数(findFileWithPattern)的实现必须调用传递给它的FillFindData函数。基本实现如下所示def FindFilesWithPattern(self,

FileName,

SearchPattern,

FillFindData,

DokanFileInfo):

if FileName == '\\':

File = WIN32_FIND_DATAW(FILE_ATTRIBUTE_NORMAL | FILE_ATTRIBUTE_READONLY,<

本文链接:https://my.lmcjl.com/post/1213.html

展开阅读全文

4 评论

留下您的评论.