MsgWaitForMultipleObjects |
VB声明 |
|
Declare Function MsgWaitForMultipleObjects Lib "user32" Alias "MsgWaitForMultipleObjects" (ByVal nCount As Long, pHandles As Long, ByVal fWaitAll As Long, ByVal dwMilliseconds As Long, ByVal dwWakeMask As Long) As Long |
|
说明 |
|
等侯单个对象或一系列对象发出信号---标志着规定的超时已经过去,或特定类型的消息已抵达线程的输入队列。如返回条件已经满足,则立即返回 |
|
返回值 |
|
Long,如fWaitAll设为TRUE,则下述任何一个常数都标志着成功: |
|
WAIT_ABANDONED_0:所有对象都发出消息,而且其中一个或多个属于互斥体(一但拥有它门的进程中止,就会发出信号)。 |
|
WAIT_TIMEOUT:对象保持未发信号的状态,但规定的等待超时时间已经超过 |
|
WAIT_OBJECT_0:所有的对象都发出信号 |
|
WAIT_TO_COMPLETION(仅适用于WaitForSingleObjectEx),由于一个I/O完成操作已准备好执行,从而造成了函数的返回。 |
|
返回WAIT_FALIED表示函数执行失败。会设置GetLastError |
|
如fWaitAll设为FALSE,那返回结果与前面说的相似,只是可能还会返回相对于WAIT_ABANDONED_0或WAIT_OBJECT_0的一个正偏移量,指出哪个对象是被抛弃还是发出信号。 |
|
如果是由于dwWakeMask指定的,符合特殊标准的一条消息的到达而造成了函数的返回,则返回WAIT_OBJECT_0 + nCount |
|
参数表 |
|
参数 |
类型及说明 |
nCount |
Long,指定列表中的句柄数量 |
pHandles |
Long,指定对象句柄组合中的第一个元素 |
fWaitAll |
Long,如果为TRUE,表示除非对象同时发出信号,否则就等待下去。如果为FALSE,表示任何对象发出信号即可。 |
dwMilliseconds |
Long,指定要等待的毫秒数。 |
dwWakeMask |
Long,带有QS_??前缀的一个或多个常数,用于标识特定的消息类型。 |
注解 |
|
如果函数是由于对象发出信号而返回,这个函数还会得到一些额外的效果: |
|
信号机:递增信号机计数 |
|
互斥体:将互斥体的所有权限赋于发出调用的线程 |
|
自动重设事件:将事件发信状态设为FALSE |
|
自动重设可等待计时器:将计时器状态设为FALSE |
Top |