DWORD Lock (DWORD dwTimeOut = infinito, BOOL bWaitForAll = TRUE, DWORD dwWakeMask = 0);
Valor devuelto
Si se produce u&n error en el bloqueo , se returnsnbsp; – 1. Si tiene éxito, devuelve uno de los siguientes valores:
Si bWaitForAll es TRUE, todos los objetos so&n señalados (disponible). Si bWaitForAll es FALSE, el retorno valuenbsp; – WAIT_OBJECT_0 es el índice de la matriz de objetos del objeto que está señalado (disponible).
Un evento especificado en dwWakeMask está disponible en la cola de entrada del subproceso.
Si bWaitForAll es TRUE, todos los objetos son señalados, y al menos uno de los objetos es un objeto de exclusión mutua abandonada. Si bWaitForAll es FALSE, el retorno valuenbsp; – WAIT_ABA&NDONED_0 es el índice de la matriz de objetos de la exclusión mutua abandonada que satisface la espera.
El intervalo de tiempo de espera especificado en dwTimeOut caducado sin el éxito de espera.
Parámetros
dwTimeOut
Especifica la cantidad de tiempo de espera para que el objeto de sincronización esté disponible (señalizado). Si infinita, bloqueo esperará hasta que el objeto está señalado antes de regresar.
bWaitForAll
Especifica si deben convertirse en señalado esperados todos los objetos al mismo tiempo antes de regresar. Cuando alguno de los objetos esperó es señalado si devolverá FALSE, Lock.
dwWakeMask
Especifica otras condiciones que pueden anular la espera. Para una lista completa de las opciones disponibles para este parámetro, consulte MsgWaitForMultipleObjects en la referencia del programador de Win32.
Observaciones
Llamar a esta función para obtener acceso a uno o más de los recursos controlados por los objetos de sincronización proporcionados al constructor CMultiLock . Si bWaitForAll es TRUE, bloqueo devolverá correctamente como ser señalados simultáneamente todos los objetos de sincronización. Si bWaitForAll es FALSE, bloqueo devolverá tan pronto como se convierte en señalado uno o más de los objetos de sincronización.
Si el bloqueo no es capaz de devolver inmediatamente, esperará no son más que el número de milisegundos especificado en el parámetro dwTimeOut antes de regresar. Si dwTimeOut es infinito, bloqueo no regresará hasta que se obtiene acceso a un objeto o se cumple una condición especificada en dwWakeMask . En caso contrario, si el bloqueo fue capaz de adquirir un objeto de sincronización, se le devolverá correctamente; Si no, se le devolverá error.
Visió&n General de CMultiLock |nbsp; Miembros de clase | Diagrama de jerarquía