In the MSDN API , It says that the QOSNotifyFlow function registers the calling application to receive a notification about changes in network characteristics, such as congestion. But I have a question about how to receives the notification. Is is an event or anything else How do I receive such notification in the program
Thanks fo any help...

Questions about QOSNotifyFlow
TA123
The mechanism used to report the notification is the OVERLAPPED structure, which is used in a number of Win32 APIs for asynchronous completion notification. There are different ways to use consume such notifications. There is an introduction to the OVERLAPPED mechanism at http://msdn.microsoft.com/library/default.asp url=/library/en-us/dllproc/base/synchronization_and_overlapped_input_and_output.asp "Synchronization and Overlapped Input and Output." While most APIs use the OVERLAPPED mechanism to report when an operation completes, qWave uses it to indicate when the particular condition is true.
The introduction talks about how to use Win32 events with the OVERLAPPED mechanism. This may be sufficient for you and it sounds like you are already familiar with Win32 events. If you are using a number of Win32 APIs that support OVERLAPPED completions, you might want to used a completion port, these are introduced at http://msdn.microsoft.com/library/default.asp url=/library/en-us/fileio/fs/i_o_completion_ports.asp.
OscarKwok
When you call QOSNotifyFlow, you pass one of the following operations: (i) QOSNotifyCongested, (ii) QOSNotifyUncongested, (iii) QOSNotifyAvailable. If you were to call this function without specifying an overlapped parameter, it would return when the selected operation occurs. For example, if you were to specify QOSNotifyCongested as the operation, the function would return when the network was entering a congested state. The same is true for (ii) and (iii). If you do specify an overlapped parameter, such as an IO completion port, the function will return immediately and you would have to monitor your completion port for status. Let me know if you have any further questions.