CreateEvent,OpenEvent成功后 是否需要::CloseHandle(xxx); 避免句柄泄漏

来源:互联网 发布:ipad主题软件 编辑:程序博客网 时间:2024/06/05 08:37

 bool bExist = false;

 HANDLE hHandle = ::CreateEvent(NULL,  FALSE,  FALSE,  L"Global\\xxxxx_name");
if  (hHandle && ERROR_ALREADY_EXISTS  ==  GetLastError())
{
        bExist = true;
        ::OutputDebugString(L"event exist \n");

        ::CloseHandle(hHandle );                    //成功创建已存在的,不关闭会句柄泄漏

}

HANDLE oHandle = ::OpenEvent(EVENT_ALL_ACCESS,  TRUE,  L"Global\\xxxxx_name");
if (oHandle)
{
        ::CloseHandle(oHandle);                  //成功打开已存在的,不关闭会句柄泄漏
}


类似OpenFile,CreateFile打开创建一个已存在的文件,还是要关闭句柄。 结论经过代码测试。

0 0
原创粉丝点击