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

 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打开创建一个已存在的文件,还是要关闭句柄。 结论经过代码测试。

 

posted @ 2015-01-29 11:00  奥雷连诺  阅读(1778)  评论(0编辑  收藏  举报