if (m_hWriteEvent != NULL)
ResetEvent(m_hWriteEvent);
m_hWriteEvent = CreateEvent(NULL, TRUE, FALSE, NULL);看起来应该是释放句柄并重新生成一个句柄,那么在ResetEvent之后为什么不CloseHandle呢?这样不会造成内存泄漏吗?
是不是对于句柄的操作都不用考虑内存泄漏吗?(以前在问一个将位图拷贝到剪切板的问题的时候有人说过,好像)
ResetEvent(m_hWriteEvent);
m_hWriteEvent = CreateEvent(NULL, TRUE, FALSE, NULL);看起来应该是释放句柄并重新生成一个句柄,那么在ResetEvent之后为什么不CloseHandle呢?这样不会造成内存泄漏吗?
是不是对于句柄的操作都不用考虑内存泄漏吗?(以前在问一个将位图拷贝到剪切板的问题的时候有人说过,好像)
这一句应该是关闭CloseHandle来着的,完全写如下:if (m_hWriteEvent != NULL)
{
CloseHandle(m_hWriteEvent);
m_hWriteEvent = NULL;
}
m_hWriteEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
if ( m_hWriteEvent == NULL )
{
MessageBox( _T("创建事件失败!"), _T("创建事件"), MB_ICONSTOP );
return;
}
要先复位ResetEvent,使 其可以再用
ResetEvent从字面上看就是重置事件的意思..
楼主 可以多去查查MSDN