微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在用CloseHandle关闭Win32文件后,它能否继续处理?

如何解决在用CloseHandle关闭Win32文件后,它能否继续处理?

我正在尝试调试一台远程计算机上发生的死锁问题。我没有设法在本地计算机上为它创建可复制的案例,并且在远程计算机上也没有100%的情况发生。

我的主要问题是:一个文件关闭后,文件句柄是否可以保留并仍然可见?


代码相当复杂,但是基本上看起来像这样:

CFile* file = new CFile;
// ...do stuff with the file
delete file

据我从https://docs.microsoft.com/en-us/cpp/mfc/closing-files?view=msvc-160得知,delete应该确保文件对象关闭其句柄(实际上是调用CloseHandle)。

我已验证(由于观察到其他副作用)该程序必须经过delete调用,并且与此同时,在查看SysInternals {{1}时,该文件仍在30分钟后打开}。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。