CMultiLock::Lock
Chamar essa função para obter acesso a um ou mais dos recursos controlados por objetos de sincronização fornecidos para o construtor de CMultiLock .
DWORD Lock(
DWORD dwTimeOut = INFINITE,
BOOL bWaitForAll = TRUE,
DWORD dwWakeMask = 0
);
Parâmetros
dwTimeOut
Especifica a quantidade de tempo para esperar o objeto de sincronização para estar disponível (signaled.)Se INFINITE, Lock esperará até que o objeto é sinalizado antes de retornar.bWaitForAll
Especifica se todos os objetos esperaram sobre devem ficar signaled ao mesmo tempo antes de retornar.Se Falso, Lock retornará quando qualquer dos objetos esperados sobre é sinalizado.dwWakeMask
Especifica outras condições que são permitidas anular a espera.Para obter uma lista completa das opções disponíveis para esse parâmetro, consulte MsgWaitForMultipleObjects em Windows SDK.
Valor de retorno
Se Lock falhar, retorna. – 1.Se com êxito, retorna um dos seguintes valores:
Entre WAIT_OBJECT_0 e WAIT_OBJECT_0 + (número de objetos – 1)
Se bWaitForAll é Verdadeiro, todos os objetos são sinalizados (disponível).Se bWaitForAll é Falso, o valor de retorno – WAIT_OBJECT_0 é o índice na matriz de objetos do objeto que é sinalizado (disponível).
WAIT_OBJECT_0 + (número de objetos)
Um evento especificado em dwWakeMask está disponível na fila de entrada de segmento.
Entre WAIT_ABANDONED_0 e WAIT_ABANDONED_0 + (número de objetos – 1)
Se bWaitForAll é Verdadeiro, todos os objetos são sinalizados, e pelo menos um dos objetos é um objeto mutex abandonadas.Se bWaitForAll é Falso, o valor de retorno – WAIT_ABANDONED_0 é o índice na matriz de objetos do objeto mutex abandonadas que tiver satisfeito a espera.
WAIT_TIMEOUT
O intervalo de tempo limite especificado no dwTimeOut expirou sem a espera que é bem-sucedido.
Comentários
Se bWaitForAll é Verdadeiro, Lock retornará com êxito para que todos os objetos de sincronização se torna signaled simultaneamente.Se bWaitForAll é Falso, Lock retornará para que um ou mais dos objetos de sincronização se torna signaled.
Se Lock não pode retornar imediatamente, esperará não mais do que o número de milissegundos especificado no parâmetro de dwTimeOut antes de retornar.Se o dwTimeOut é INFINITE, Lock não retorna até que o acesso a um objeto está ganhado ou uma condição especificada em dwWakeMask é satisfeita.Caso contrário, se Lock consegui encontrar um objeto de sincronização, retornará com êxito; caso contrário, retornará a falha.
Requisitos
Cabeçalho: afxmt.h