CMultiLock::Lock
Chiamare la funzione per accedere a una o più delle risorse controllate dagli oggetti di sincronizzazione forniti al costruttore CMultiLock .
DWORD Lock(
DWORD dwTimeOut = INFINITE,
BOOL bWaitForAll = TRUE,
DWORD dwWakeMask = 0
);
Parametri
dwTimeOut
Specifica il tempo di attesa l'oggetto di sincronizzazione siano disponibili (segnalato).Se INFINITE, Lock attesa finché non viene segnalato l'oggetto prima di restituire.bWaitForAll
Specifica se tutti gli oggetti attesi su devono essere segnalati contemporaneamente prima di restituire.Se FALSE, Lock otterranno a qualsiasi di oggetti attesi viene segnalato.dwWakeMask
Specifica le altre condizioni consentite per interrompere l'attesa.Per un elenco completo delle opzioni disponibili per il parametro, vedere MsgWaitForMultipleObjects in Windows SDK.
Valore restituito
Se Lock non riesce, restituisce – 1.Se l'operazione riesce, restituisce uno dei seguenti valori:
Tra WAIT_OBJECT_0 e WAIT_OBJECT_0 + (numero di oggetti – 1)
Se bWaitForAll è TRUE, tutti gli oggetti vengono segnalati (disponibile.Se bWaitForAll è FALSE, il valore restituito da WAIT_OBJECT_0 è l'indice della matrice di oggetti dell'oggetto che viene segnalato (disponibile.
WAIT_OBJECT_0 + (numero di oggetti)
Un evento specificato in dwWakeMask è disponibile la coda di input del thread.
Tra WAIT_ABANDONED_0 e WAIT_ABANDONED_0 + (numero di oggetti – 1)
Se bWaitForAll è TRUE, tutti gli oggetti vengono segnalati e almeno uno degli oggetti è un oggetto abbandonato del mutex.Se bWaitForAll è FALSE, il valore restituito da WAIT_ABANDONED_0 è l'indice della matrice di oggetti dell'oggetto abbandonato del mutex che soddisfano l'attesa.
WAIT_TIMEOUT
L'intervallo di tempo specificato in dwTimeOut è scaduto senza risolvere di attesa.
Note
Se bWaitForAll è TRUE, Lock restituito correttamente appena tutti gli oggetti di sincronizzazione diventano hanno eseguito contemporaneamente.Se bWaitForAll è FALSE, Lock restituirà non solo uno o più oggetti di sincronizzazione vengono segnalati.
Se Lock non può restituire immediatamente, attenderà non al numero di millisecondi specificato nel parametro del dwTimeOut prima di restituire.Se il dwTimeOut è INFINITE, Lock non restituirà fino a ottenere l'accesso a un oggetto o una condizione specificata in dwWakeMask sia completata.In caso contrario, se Lock può acquisire un oggetto di sincronizzazione, restituito correttamente; in caso contrario, restituirà un errore.
Requisiti
Header: afxmt.h