|
WSAWaitForMultipleEvents
The Windows Sockets WSAWaitForMultipleEvents function returns either when one or all of the specified event objects are in
the signaled state, or when the time-out interval expires.
DWORD WSAWaitForMultipleEvents(
DWORD cEvents,
|
| const WSAEVENT FAR *lphEvents,
|
| BOOL fWaitAll,
|
| DWORD dwTimeOUT,
|
| BOOL fAlertable
|
| );
|
|
Parameters
cEvents
[in] Specifies the number of event object handles in the array pointed to by lphEvents. The maximum number of event object handles is WSA_MAXIMUM_WAIT_EVENTS. One
or more events must be specified.
lphEvents
[in] Points to an array of event object handles.
fWaitAll
[in] Specifies the wait type. If TRUE, the function returns when all event
objects in the lphEvents array are signaled at the same time. If FALSE, the function returns when any
one of the event objects is signaled. In the latter case, the return value
indicates the event object whose state caused the function to return.
dwTimeout
[in] Specifies the time-out interval, in milliseconds. The function returns if
the interval expires, even if conditions specified by the fWaitAll parameter are not satisfied. If dwTimeout is zero, the function tests the state of the specified event objects and
returns immediately. If dwTimeout is WSA_INFINITE, the function's time-out interval never expires.
fAlertable
[in] Specifies whether the function returns when the system queues an I/O
completion routine for execution by the calling thread. If TRUE, the completion
routine is executed and the function returns. If FALSE, the completion routine is
not executed when the function returns.
Remarks
The WSAWaitForMultipleEvents function returns either when any one or when all of the specified objects are
in the signaled state, or when the time-out interval elapses. This function is
also used to perform an alertable wait by setting the parameter fAltertable to be TRUE. This enables the function to return when the system queues an I/O
completion routine to be executed by the calling thread.
When fWaitAll is TRUE, the function's wait condition is satisfied only when the state of
all objects is signaled at the same time. The function does not modify the state
of the specified objects until all objects are simultaneously signaled.
Applications that simply need to enter an alertable wait state without waiting
for any event objects to be signalled should use the Win32 sleepEx function.
Return Values
If the function succeeds, the return value indicates the event object that
caused the function to return.
If the function fails, the return value is WSA_WAIT_FAILED. To get extended
error information, call WSAGetLastError.
The return value upon success is one of the following values:
Value
| Meaning
| WSA_WAIT_EVENT_0 to (WSA_WAIT_EVENT_0 + cEvents - 1)
| If fWaitAll is TRUE, the return value indicates that the state of all specified event
objects is signaled. If fWaitAll is FALSE, the return value minus WSA_WAIT_EVENT_0 indicates the lphEvents array index of the object that satisfied the wait.
| WAIT_IO_COMPLETION
| One or more I/O completion routines are queued for execution.
| WSA_WAIT_TIMEOUT
| The time-out interval elapsed and the conditions specified by the fWaitAll parameter are not satisfied.
|
Error Codes
WSANOTINITIALISED
| A successful WSAStartup must occur before using this function.
| WSAENETDOWN
| The network subsystem has failed.
| WSAEINPROGRESS
| A blocking Windows Sockets 1.1 call is in progress, or the service provider is
still processing a callback function.
| WSA_NOT_ENOUGH_MEMORY
| Not enough free memory available to complete the operation.
| WSA_INVALID_HANDLE
| One or more of the values in the lphEvents array is not a valid event object handle.
| WSA_INVALID_PARAMETER
| The cEvents parameter does not contain a valid handle count.
|
See Also
WSACloseEvent, WSACreateEvent
| Last news from Greatis Software |
 |
|
Nostalgia .Net |
|
.Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes. More » |
| Recommended software for developers |
 |
|
Ultimate Pack |
|
Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price. More » |
 |
|
Form Designer .Net |
|
Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime with full source codes for only 300 euro! More » |
 |
|
Print Suite .Net |
|
Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available More » |
 |
|
Gradient Controls .Net |
|
Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available More » |
 |
|
Greatis iGrid |
|
iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors. More » |
All the contacts and projectsDmitry Vasiliev (just.dmitry)
Related LinksSoftware for Visual Studio .NET developers Software for Delphi and C++ Builder developers Software for Visual Basic 6 developers Delphi Tips&Tricks MegaDetailed.NET More Online Helps Win32 Programmer's Reference Win32 Multimedia Programmer's Reference OLE Programmer's Reference Microsoft Windows Pen API Programmer's Reference Microsoft Windows Sockets 2 Reference Microsoft Windows Telephony API (TAPI) Programmer's Reference Unix Manual Pages
|