CMultiLock::bloquear
Chamar esta função para obter acesso a um ou mais dos recursos controlados pelos objetos de sincronização fornecidos à CMultiLock construtor.
DWORD Lock(
DWORD dwTimeOut = INFINITE,
BOOL bWaitForAll = TRUE,
DWORD dwWakeMask = 0
);
Parâmetros
dwTimeOut
Especifica a quantidade de time de espera para o objeto de sincronização esteja disponível (sinalizado).If INFINITO, Lock esperará até que o objeto é sinalizado antes de retornar.bWaitForAll
Especifica se todos os objetos aguardados devem se tornar avisados ao mesmo time antes de retornar.If FALSE, Lock retornará quando qualquer um dos objetos aguardado é sinalizado.dwWakeMask
Especifica outras condições que têm permissão para interromper a espera.Para obter uma lista completa das opções disponível para este parâmetro, consulte MsgWaitForMultipleObjects in the Windows SDK.
Valor de retorno
If Lock falhar, ela retornará – 1. Se for bem-sucedido, ele retorna um dos seguintes valores:
Entre WAIT_OBJECT_0 and WAIT_OBJECT_0 + (número de objetos – 1)
If bWaitForAll é TRUE, todos os objetos são assinalados (disponível).If bWaitForAll é FALSE, o valor retornado – WAIT_OBJECT_0 é o índice na matriz de objetos do objeto é sinalizado (disponível).
WAIT_OBJECT_0 + (número de objetos)
Um evento especificado em dwWakeMask está disponível na fila de entrada do segmento.
Entre WAIT_ABANDONED_0 and WAIT_ABANDONED_0 + (número de objetos – 1)
If bWaitForAll é TRUE, todos os objetos são assinalados e pelo menos um dos objetos é um objeto de mutex abandonadas.If bWaitForAll é FALSE, o valor retornado – WAIT_ABANDONED_0 é o índice da matriz de objetos do objeto mutex abandonadas que atendidas a espera.
WAIT_TIMEOUT
O intervalo de tempo limite especificado em dwTimeOut expirado sem espera tenham êxito.
Comentários
If bWaitForAll é TRUE, Lock retornará com êxito, assim que todos sistema autônomo objetos de sincronização tornam-se signaled simultaneamente. If bWaitForAll é FALSE, Lock retornará sistema autônomo logo sistema autônomo um ou mais dos objetos de sincronização se torna sinalizado.
If Lock não é capaz de retornar imediatamente, ele aguardará não mais do que o número de milissegundos especificado na dwTimeOut parâmetro antes de retornar.If dwTimeOut is INFINITO, Lock não retornará até que o acesso a um objeto é obtido ou uma condição especificada dwWakeMask foi alcançado. Caso contrário, se Lock foi capaz de adquirir um objeto de sincronização, ele retornará com sucesso; se não for, ela retornará falha.
Requisitos
Cabeçalho: afxmt.h