如何检查文件HANDLE是否需要关闭?

时间:2017-03-29 18:37:20

标签: visual-c++ file-io visual-studio-2015 handle

HANDLE handle;

让我们说我有一个HANDLE,在我的代码运行过程中可能已经分配了

handle = ::CreateFile2(
        lpFileName,
        dwDesiredAccess,
        dwShareMode,
        dwCreationDisposition,
        pCreateExParams);

我们还要说,我从一开始就不一定知道它是否会击中CreateFile2。在我完成了句柄之后,假设它已经达到了CreateFile2,我想要运行

::CloseHandle(
        handle);

但如果我从未点击过CreateFile2,我可能不想运行CloseHandle。现在,如果它触及CreateFile,我可以设置我自己的标志,但有没有一种很好的方法来检查句柄本身的质量,看看它是否需要一个CloseHandle?

if (/*handle has quality that means it needs to be closed*/)
    ::CloseHandle(
        handle);

0 个答案:

没有答案