实战经验:通过NotifyAddrChange侦测网络变化( 四 )

返回值

NotifyAddrChange的返回值分以下两种情况

1) 同步模式下返回

当我们给Handle和overlapped这两个参数都设置为NULL时 , 这个函数将以同步的方式执行 。 如果函数执行成功 , 则返回NO_ERROR , 否则返回以下错误代码:

ERROR_CANCELLED

ERROR_INVALID_PARAMETER

ERROR_NOT_ENOUGH_MEMORY

ERROR_NOT_SUPPORTED

2) 异步模式下返回

如果我们给Handle和overlapped这两个参数都设置为非NULL时 , 这个函数将以异步方式执行 。 如果这个函数执行成功 , 则返回ERROR_IO_PENDING , 否则返回其他错误代码(见上) 。

通过以上对参数和返回值的理解 , 我们应该可以知道 , NotifyAddrChange执行同步和异步两种工作模式 。

1) 同步模式

推荐阅读