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