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 |
|
說明 |
|
等侯單個對象或一系列對象發(fā)出信號---標(biāo)志著規(guī)定的超時已經(jīng)過去,或特定類型的消息已抵達(dá)線程的輸入隊(duì)列。如返回條件已經(jīng)滿足,則立即返回 |
|
返回值 |
|
Long,如fWaitAll設(shè)為TRUE,則下述任何一個常數(shù)都標(biāo)志著成功: |
|
WAIT_ABANDONED_0:所有對象都發(fā)出消息,而且其中一個或多個屬于互斥體(一但擁有它門的進(jìn)程中止,就會發(fā)出信號)。 |
|
WAIT_TIMEOUT:對象保持未發(fā)信號的狀態(tài),但規(guī)定的等待超時時間已經(jīng)超過 |
|
WAIT_OBJECT_0:所有的對象都發(fā)出信號 |
|
WAIT_TO_COMPLETION(僅適用于WaitForSingleObjectEx),由于一個I/O完成操作已準(zhǔn)備好執(zhí)行,從而造成了函數(shù)的返回。 |
|
返回WAIT_FALIED表示函數(shù)執(zhí)行失敗。會設(shè)置GetLastError |
|
如fWaitAll設(shè)為FALSE,那返回結(jié)果與前面說的相似,只是可能還會返回相對于WAIT_ABANDONED_0或WAIT_OBJECT_0的一個正偏移量,指出哪個對象是被拋棄還是發(fā)出信號。 |
|
如果是由于dwWakeMask指定的,符合特殊標(biāo)準(zhǔn)的一條消息的到達(dá)而造成了函數(shù)的返回,則返回WAIT_OBJECT_0 + nCount |
|
參數(shù)表 |
|
參數(shù) |
類型及說明 |
nCount |
Long,指定列表中的句柄數(shù)量 |
pHandles |
Long,指定對象句柄組合中的第一個元素 |
fWaitAll |
Long,如果為TRUE,表示除非對象同時發(fā)出信號,否則就等待下去。如果為FALSE,表示任何對象發(fā)出信號即可。 |
dwMilliseconds |
Long,指定要等待的毫秒數(shù)。 |
dwWakeMask |
Long,帶有QS_??前綴的一個或多個常數(shù),用于標(biāo)識特定的消息類型。 |
注解 |
|
如果函數(shù)是由于對象發(fā)出信號而返回,這個函數(shù)還會得到一些額外的效果: |
|
信號機(jī):遞增信號機(jī)計(jì)數(shù) |
|
互斥體:將互斥體的所有權(quán)限賦于發(fā)出調(diào)用的線程 |
|
自動重設(shè)事件:將事件發(fā)信狀態(tài)設(shè)為FALSE |
|
自動重設(shè)可等待計(jì)時器:將計(jì)時器狀態(tài)設(shè)為FALSE |
Top |