首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >中止同步ReadDirectoryChangesW

中止同步ReadDirectoryChangesW
EN

Stack Overflow用户
提问于 2013-11-20 12:39:10
回答 2查看 447关注 0票数 1

我在线程中使用了ReadDirectoryChangesW的同步风格。一切都很好。

但是,除了从主线程调用TerminateThread之外,我无法终止线程,因为如果监视目录中没有活动,ReadDirectoryChangesW将永远等待。

使用TerminateThread的解决方案是可行的,但这有点脏。

另一种解决方案是在受监视的目录中创建一个虚拟文件,该文件将解除对ReadDirectoryChangesW的阻塞,但这只是另一次攻击。

那么,是否有一种正确地解除/中止ReadDirectoryChangesW的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-20 12:47:49

您可以切换到与完成例程一起使用它,并在调用ReadDirectoryChangesW()之后立即调用一个等待函数,该函数使您处于可报警的等待状态,并等待用于中止等待的事件.

票数 2
EN

Stack Overflow用户

发布于 2017-07-20 15:56:04

如果使用FILE_SYNCHRONOUS_IO_ALERT打开句柄,则可以使用无文档的NtAlertThread发送停止等待的信号。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20096225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档