【问题标题】:Calling GetHandleInformation before any call to CloseHandle在调用 CloseHandle 之前调用 GetHandleInformation
【发布时间】:2013-10-20 13:51:49
【问题描述】:

事实 1:由于某些客户端限制,我们无法使用异常机制。

事实 2:关闭已经关闭的句柄会引发异常。

不通过提及事实的原因,将调用GetHandleInformation() 来检测句柄是否仍然有效,只有如果是 调用CloseHandle() 将是一个好方法避免这种异常?

【问题讨论】:

  • 一开始就不要关闭它。正确修复您的代码。
  • 关闭句柄后,我通常将句柄设置为 NULL。

标签: c windows winapi native window-handles


【解决方案1】:

您不得以任何方式访问已关闭的句柄,因为由于句柄回收,它可能引用不同的句柄。

句柄回收意味着任何无效的句柄都可以突然再次变为有效(但引用一个不相关的对象)。

Raymond Chen - The Old New Thing.

【讨论】:

    猜你喜欢
    • 2010-09-29
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-08
    • 1970-01-01
    • 2011-05-19
    • 2017-10-19
    相关资源
    最近更新 更多