MsgWaitForMultipleObjects

Windows API函式。該函式等待核心對象或訊息。

基本介紹

  • 中文名:MsgWaitForMultipleObjects
  • 外文名:MsgWaitForMultipleObjects
  • 聲明位置:WinUser.h
  • 返回值類型:unsigned long
  • 調用方式:__stdcall
聲明,VB聲明,說明,

聲明

WINUSERAPIDWORDWINAPIMsgWaitForMultipleObjects(_In_DWORDnCount,_In_reads_opt_(nCount)CONSTHANDLE*pHandles,_In_BOOLfWaitAll,_In_DWORDdwMilliseconds,_In_DWORDdwWakeMask);

VB聲明

DeclareFunctionMsgWaitForMultipleObjectsLib"user32"Alias"MsgWaitForMultipleObjects"(ByValnCountAsLong,pHandlesAsLong,ByValfWaitAllAsLong,ByValdwMillisecondsAsLong,ByValdwWakeMaskAsLong)AsLong

說明

等候單個對象或一系列對象發出信號---標誌著規定的逾時已經過去,或特定類型的訊息已抵達執行緒的輸入佇列。如返回條件已經滿足,則立即返回
返回值
Long,如fWaitAll設為TRUE,則下述任何一個常數都標誌著成功:
WAIT_ABANDONED_0:所有對象都發出訊息,而且其中一個或多個屬於互斥體(一但擁有它門的進程中止,就會發出信號)。
WAIT_TIMEOUT:對象保持未發信號的狀態,但規定的等待逾時時間已經超過
WAIT_OBJECT_0:所有的對象都發出信號
WAIT_TO_COMPLETION(僅適用於WaitForSingleObjectEx),由於一個I/O完成操作已準備好執行,從而造成了函式的返回。
返回WAIT_FAILED表示函式執行失敗。會設定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

相關詞條

熱門詞條

聯絡我們