agent::wait_for_all Method

Waits for all of the specified agents to complete their tasks.

static void __cdecl wait_for_all(
   size_t _Count,
   _In_reads_(_Count) agent ** _PAgents,
   _Out_writes_opt_(_Count) agent_status * _PStatus = NULL,
   unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE


  • _Count
    The number of agent pointers present in the array _PAgents.

  • _PAgents
    An array of pointers to the agents to wait for.

  • _PStatus
    A pointer to an array of agent statuses. Each status value will represent the status of the corresponding agent when the method returns.

  • _Timeout
    The maximum time for which to wait, in milliseconds.


An agent task is completed when the agent enters the agent_canceled or agent_done states.

If the parameter _Timeout has a value other than the constant COOPERATIVE_TIMEOUT_INFINITE, the exception operation_timed_out is thrown if the specified amount of time expires before the agent has completed its task.


Header: agents.h

Namespace: concurrency

See Also


agent Class

agent::wait Method

agent::wait_for_one Method

agent_status Enumeration