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 |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour