Función CoWaitForMultipleHandles (combaseapi.h)
Espera a que los identificadores especificados se indiquen o que haya transcurrido un período de tiempo de espera especificado.
Sintaxis
HRESULT CoWaitForMultipleHandles(
[in] DWORD dwFlags,
[in] DWORD dwTimeout,
[in] ULONG cHandles,
[in] LPHANDLE pHandles,
[out] LPDWORD lpdwindex
);
Parámetros
[in] dwFlags
Opciones de espera. Los valores posibles se toman de la enumeración COWAIT_FLAGS .
[in] dwTimeout
Período de tiempo de espera, en milisegundos.
[in] cHandles
Número de elementos de la matriz pHandles .
[in] pHandles
Matriz de identificadores.
[out] lpdwindex
Puntero a una variable que, cuando el estado devuelto es S_OK, recibe un valor que indica el evento que provocó que la función devolva. Este valor suele ser el índice en pHandles para el identificador que se señalizó.
Si pHandles incluye uno o varios identificadores para los objetos de exclusión mutua, un valor entre WAIT_ABANDONED_0 y (WAIT_ABANDONED_0 + nCount - 1) indica el índice en pHandles para la exclusión mutua que se abandonó.
Si la marca de COWAIT_ALERTABLE se establece en dwFlags, un valor de WAIT_IO_COMPLETION indica que la espera finalizó mediante una o varias llamadas de procedimiento asincrónico en modo de usuario (APC) en cola al subproceso.
Consulte WaitForMultipleObjectsEx para obtener más información.
Valor devuelto
Esta función puede devolver los valores siguientes.
Código devuelto | Descripción |
---|---|
|
Se señalizaron los identificadores o identificadores necesarios. |
|
pHandles era NULL, lpdwindex era NULL o dwFlags no era un valor de la enumeración COWAIT_FLAGS . |
|
El valor de pHandles era 0. |
|
El período de tiempo de espera transcurrido antes de que se indicara el identificador o los identificadores necesarios. |
Comentarios
Dependiendo de qué marcas se establezcan en el parámetro dwFlags, CoWaitForMultipleHandles bloquea el subproceso que realiza la llamada hasta que se produzca uno de los siguientes eventos:
- Se señala una o todas las manijas. En el caso de objetos de exclusión mutua, esta condición también se satisface mediante una exclusión mutua que se abandona.
- Se ha puesto en cola una llamada de procedimiento asincrónico (APC) al subproceso que llama con una llamada a la función QueueUserAPC .
- El período de tiempo de espera expira.
Si el subproceso de llamada reside en un apartamento multiproceso (MTA), CoWaitForMultipleHandles llama a la función WaitForMultipleObjectsEx .
Requisitos
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | combaseapi.h (incluya Objbase.h) |
Library | Ole32.lib |
Archivo DLL | Ole32.dll |