📄 event.cpp
字号:
/**
捞亥飘 包访 扁瓷阑 力傍窍绰 努贰胶甫 沥狼窃
*/
#include "UtilityCommon.h"
#include "Event.h"
namespace util
{
static HANDLE Create(LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, LPCTSTR lpName); // 橇肺配 鸥涝 急攫(沥利 窃荐肺 按眉 急攫绝捞 荤侩 啊瓷窃)
CEvent::CEvent(LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState)
{
m_hEvent = Create(lpEventAttributes, bManualReset, bInitialState, NULL);
}
CEvent::CEvent(LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, const _tstring& name)
{
m_hEvent = Create(lpEventAttributes, bManualReset, bInitialState, name.c_str());
}
void CEvent::Wait() const
{ // 捞亥飘甫 扁促覆
if(!Wait(INFINITE)) {
}
}
BOOL CEvent::Wait(DWORD timeoutMillis) const
{ // 捞亥飘甫 瘤沥等 矫埃父怒 扁促覆
BOOL ok;
DWORD result = ::WaitForSingleObject(m_hEvent, timeoutMillis);
if(result == WAIT_TIMEOUT) ok = false;
else if(result == WAIT_OBJECT_0) ok = true;
else {
return false;
}
return ok;
}
void CEvent::Reset(){ // 捞亥飘甫 厚劝己拳 窃
if(!::ResetEvent(m_hEvent)){
return;
};
}
void CEvent::Set()
{ // 捞亥飘甫 劝己拳 窃
if(!::SetEvent(m_hEvent)){
return;
}
}
void CEvent::Pulse()
{
if(!::PulseEvent(m_hEvent)){
return;
};
}
CEvent::~CEvent(void)
{
}
HANDLE CEvent::GetEvent() const
{
return m_hEvent;
}
static HANDLE Create(LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, LPCTSTR lpName)
{
HANDLE hEvent = ::CreateEvent(lpEventAttributes, bManualReset, bInitialState, lpName);
if(hEvent == NULL){
return NULL;
}
return hEvent;
}
}//End of namespace : util
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -