Compartilhar via


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

Consulte também

Referência

Classe CMultiLock

Gráfico de hierarquia

Outros recursos

CMultiLock membros