DWORD Lock (DWORD dwTimeOut = infinito, BOOL bWaitForAll = TRUE, DWORD dwWakeMask = 0);
Valore restituito
Se il blocco &non riesce, returnsnbsp; – 1. In caso di successo, essa restituisce uno dei valori seguenti:
Se bWaitForAll è TRUE, tutti gli oggetti so&no segnalati (disponibile). Se bWaitForAll è FALSE, il ritorno valuenbsp; – WAIT_OBJECT_0 è l'indice della matrice di oggetti dell'oggetto che viene segnalato (disponibile).
Un evento specificato in dwWakeMask è disponibile in coda di input del thread.
Se bWaitForAll è TRUE, tutti gli oggetti sono segnalati e almeno uno degli oggetti è un oggetto mutex abbandonati. Se bWaitForAll è FALSE, il ritorno valuenbsp; – WAIT_ABA&NDONED_0 è l'indice della matrice di oggetti dell'oggetto mutex abbandonati che ha soddisfatto l'attesa.
L'intervallo di timeout specificato nella dwTimeOut scaduta senza i successivi aspetta.
Parametri
dwTimeOut
Specifica la quantità di tempo di attesa per l'oggetto di sincronizzazione essere disponibile (segnalato). Se infinito, Lock attenderà fino a quando l'oggetto viene segnalato prima di tornare.
bWaitForAll
Specifica se devono diventare segnalati tutti gli oggetti aspettati allo stesso tempo prima di tornare. Se restituisce FALSE, serratura quando uno qualsiasi degli oggetti aspettato viene segnalato.
dwWakeMask
Specifica le altre condizioni che sono autorizzati a interrompere l'attesa. Per un elenco completo delle opzioni disponibili per questo parametro, vedere MsgWaitForMultipleObjects nel riferimento del programmatore di Win32.
Osservazioni
Chiamare questa funzione per ottenere l'accesso ad una o più delle risorse controllate da oggetti di sincronizzazione in dotazione al costruttore CMultiLock . Se bWaitForAll è TRUE, blocco verrà restituito con successo, non appena tutti gli oggetti di sincronizzazione diventano segnalati simultaneamente. Se bWaitForAll è FALSE, il blocco restituirà, non appena diventa segnalato uno o più degli oggetti di sincronizzazione.
Se il blocco non è in grado di restituire immediatamente, attenderà non più il numero di millisecondi specificato nel parametro dwTimeOut prima della restituzione. Se dwTimeOut è infinita, Lock non restituirà fino a quando non si è guadagnato l'accesso a un oggetto o una condizione specificata in dwWakeMask è stato raggiunto. In caso contrario, se il blocco è stato in grado di acquisire un oggetto di sincronizzazione, esso verrà restituito con successo; in caso contrario, verrà restituito fallimento.
CMultiLock pa&noramica |nbsp; Membri della classe | Gerarchia Chart