CoWaitForMultipleHandles, fonction (combaseapi.h)
Attend que les handles spécifiés soient signalés ou qu’un délai d’expiration spécifié s’écoule.
Syntaxe
HRESULT CoWaitForMultipleHandles(
[in] DWORD dwFlags,
[in] DWORD dwTimeout,
[in] ULONG cHandles,
[in] LPHANDLE pHandles,
[out] LPDWORD lpdwindex
);
Paramètres
[in] dwFlags
Options d’attente. Les valeurs possibles sont extraites de l’énumération COWAIT_FLAGS .
[in] dwTimeout
Délai d'attente, en millisecondes.
[in] cHandles
Nombre d’éléments dans le tableau pHandles .
[in] pHandles
Tableau de handles.
[out] lpdwindex
Pointeur vers une variable qui, lorsque le status retourné est S_OK, reçoit une valeur indiquant l’événement qui a provoqué le retour de la fonction. Cette valeur est généralement l’index dans pHandles pour le handle qui a été signalé.
Si pHandles inclut un ou plusieurs handles pour les objets mutex, une valeur comprise entre WAIT_ABANDONED_0 et (WAIT_ABANDONED_0 + nCount - 1) indique l’index dans pHandles pour le mutex qui a été abandonné.
Si l’indicateur COWAIT_ALERTABLE est défini dans dwFlags, la valeur WAIT_IO_COMPLETION indique que l’attente a été terminée par un ou plusieurs appels de procédure asynchrone en mode utilisateur (APC) mis en file d’attente vers le thread.
Pour plus d’informations, consultez WaitForMultipleObjectsEx .
Valeur retournée
Cette fonction peut retourner les valeurs suivantes.
Code de retour | Description |
---|---|
|
Le ou les handles requis ont été signalés. |
|
pHandles était NULL, lpdwindex était NULL ou dwFlags n’était pas une valeur de l’énumération COWAIT_FLAGS . |
|
La valeur de pHandles était 0. |
|
Le délai d’expiration s’est écoulé avant que le ou les handles requis soient signalés. |
Notes
Selon les indicateurs définis dans le paramètre dwFlags, CoWaitForMultipleHandles bloque le thread appelant jusqu’à ce que l’un des événements suivants se produise :
- Un ou tous les handles sont signalés. Dans le cas d’objets mutex, cette condition est également remplie par l’abandon d’un mutex.
- Un appel de procédure asynchrone (APC) a été mis en file d’attente vers le thread appelant avec un appel à la fonction QueueUserAPC .
- Le délai d’expiration expire.
Si le thread appelant réside dans un appartement multithread (MTA), CoWaitForMultipleHandles appelle la fonction WaitForMultipleObjectsEx .
Configuration requise
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | combaseapi.h (inclure Objbase.h) |
Bibliothèque | Ole32.lib |
DLL | Ole32.dll |