CEvent类是对windows的事件(Event Object)的封装吗?

hityct1 2008-02-27 06:32:10
Event是windows的核心对象,有限,如果资源不足就申请不到。
如API函数CreateEvent就有可能不成功。
1)而CEvent似乎总能成功,他的构造函数不抛出异常;他也没有其他初始化函数。
这是怎么回事?
2)CEvent是怎样实现的?给个思路。
...全文
104 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hityct1 2008-02-29
  • 打赏
  • 举报
回复
这说明构造函数能抛出异常,只不过msdn中没说。对吧?
wawaku 2008-02-28
  • 打赏
  • 举报
回复
CEvent::CEvent(BOOL bInitiallyOwn, BOOL bManualReset, LPCTSTR pstrName,
LPSECURITY_ATTRIBUTES lpsaAttribute)
: CSyncObject(pstrName)
{
m_hObject = ::CreateEvent(lpsaAttribute, bManualReset,
bInitiallyOwn, pstrName);
if (m_hObject == NULL)
AfxThrowResourceException();
}

VC98\MFC\MTEX.CPP
你打个断点(F9), 再跟进(F11)就看到了.
hityct1 2008-02-28
  • 打赏
  • 举报
回复
你这代码在哪来的?
sxd269 2008-02-27
  • 打赏
  • 举报
回复
CEvent::CEvent(BOOL bInitiallyOwn, BOOL bManualReset, LPCTSTR pstrName,
LPSECURITY_ATTRIBUTES lpsaAttribute)
: CSyncObject(pstrName)
{
m_hObject = ::CreateEvent(lpsaAttribute, bManualReset,
bInitiallyOwn, pstrName);
if (m_hObject == NULL)
AfxThrowResourceException();
}

15,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧