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,<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值