CMultiLock::Lock
呼叫此函式來同步處理物件的一或多個控制項資源的存取權給 CMultiLock 建構函式。
DWORD Lock(
DWORD dwTimeOut = INFINITE,
BOOL bWaitForAll = TRUE,
DWORD dwWakeMask = 0
);
參數
dwTimeOut
指定時間等待同步物件可用 (表示)。 如果 INFINITE, Lock 等待,直到物件在傳回之前先收到信號。bWaitForAll
指定是否要等候的所有物件都必須同時變成發出信號後再傳回。 如果 否Lock ,會傳回,表示等待的任何一個物件收到信號。dwWakeMask
指定允許放棄等候的其他條件。 如需這個參數的可用選項的完整清單,請參閱 Windows SDKMsgWaitForMultipleObjects 。
傳回值
如果 Lock 失敗,則會傳回– 1。 如果成功的話,會傳回下列其中一個值:
在 WAIT_OBJECT_0 和 WAIT_OBJECT_0 + (物件的數值– 1)
如果 bWaitForAll 是 是,所有物件收到信號 (適用於)。 如果 bWaitForAll 是 否,傳回值 WAIT_OBJECT_0 –是陣列的索引來表示物件的物件 (可)。
WAIT_OBJECT_0 + (物件數目)
在 dwWakeMask 指定的事件可在執行緒上輸入佇列。
在 WAIT_ABANDONED_0 和 WAIT_ABANDONED_0 + (物件的數值– 1)
如果 bWaitForAll 是 是,所有物件發出信號,,且其中至少有一個物件為已放棄的 Mutex 物件。 如果 bWaitForAll 是 否,傳回值 WAIT_ABANDONED_0 –是陣列的索引滿足等候放棄的 Mutex 物件的物件。
WAIT_TIMEOUT
在 dwTimeOut 指定的逾時時間間隔到期,而不用等候成功。
備註
如果 bWaitForAll 是 是, Lock 會成功傳回,則所有的同步處理物件收到一次信號。 如果 bWaitForAll 是 否, Lock 都會傳回,將一或多個同步物件收到信號。
如果 Lock 無法立即傳回,它會在 dwTimeOut 參數所指定的毫秒數會等候沒有詳細後再傳回。 如果 dwTimeOut 是 INFINITE, Lock 不會傳回,直到物件的使用中取得或 dwWakeMask 在指定的條件為。 否則,如果 Lock ,可以取得同步物件,它會成功傳回,否則,它會傳回失敗。
需求
Header: afxmt.h