在“::WaitForSingleObject(CEvent...”之前怎知道CEvent的值?
怎样在
::WaitForSingleObject(cEvent.m_hObject, INFINITE);
之前就知道CEvent的通信值?通信值是调用ResetEvent()或SetEvent()之后得到的状态。
问题点数:50、回复次数:9Top
1 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2004-09-04 20:59:56 得分 2
通过SetEvent(),ResetEvent()来触发WaitForSingleObjectTop
2 楼ying_feng(伤心人)回复于 2004-09-04 21:01:45 得分 0
就是想在阻塞之前能知道通信状态,方便对其临时修改。希望能够直接实现,而不是额外加一个BOOL变量。
谢谢!Top
3 楼Mackz(在相互)回复于 2004-09-04 21:20:47 得分 2
CEvent::GetHandle()//好像是。Top
4 楼ying_feng(伤心人)回复于 2004-09-04 21:46:38 得分 0
CEvent 好像没有GetHandle() 成员函数吧?Top
5 楼crystal521(【云淡风轻】)回复于 2004-09-05 00:28:46 得分 2
DWORD WaitForSingleObject(
HANDLE hHandle, // handle to object to wait for
DWORD dwMilliseconds // time-out interval in milliseconds
);
直接用HANDLE就行了,HANDLE在创建时就得到了Top
6 楼ying_feng(伤心人)回复于 2004-09-05 18:24:04 得分 0
RE crystal521(水晶泪)
怎么知道hHandle在什么状态?Top
7 楼lianglp(寻找黄金分割点)回复于 2004-09-05 18:43:55 得分 40
if(WaitForSingleObject(hEvent,NULL) == WAIT_TIMEOUT)//这里
{
MessageBox("事件处于未通知状态") ;
}
else if(WaitForSingleObject(hEvent,NULL) == WAIT_OBJECT_0)
{
MessageBox("事件处于通知状态") ;
}
...Top
8 楼hjhd0(羡慕猪的生活)回复于 2004-09-05 18:48:55 得分 2
再创建的时候可以设置事件的初始状态!Top
9 楼btbq(阿不)回复于 2004-09-30 00:15:11 得分 2
顶Top




