CInternetSession::EnableStatusCallback

BOOL EnableStatusCallback( BOOL bEnable = TRUE );
  throw(CInternetException);

返回值:
如果成功,则返回非零值,否则为0。如果调用失败,可通过检查产生的CInternetException对象确定出错原因。

参数:
bEnable指定回调是有效还是无效的。缺省为TRUE。

说明:
调用此成员函数来使状态回调有效。处理状态回调时,可在应用的状态条提供操作进程的状态(如分解名字、连接服务器等等)。显示操作状态在长期操作中尤其需要。
可为同步操作设置回调例程;然而,必须为异步操作建立一个回调例程,因为异步API会调用INTERNET_STATUS_REQUEST_COMPLETE来指示请求已完成。
对异步操作的调用将是线程的,而不是某个原始请求。如果请求在状态回调发生时未完成,调用将产生ERROR_IO_PENDING错误。此调用将被不同于初始化请求的上下文的线程调用。
由于调用在请求进程中发生,应用应在调用中尽量少费时间,以免网络数据流量降低。例如,在调用中弹出对话框可能是一个漫长的操作,服务器会终止请求。
状态回调不能被移动象任何调用或异步函数挂起一样的时间。
注意:异步处理任何操作,必须设置三个条件:
·在构造函数中,dwFlags必须包括INTERNET_FLAG_ASYNC。
·在构造函数中,dwContext必须设置为1。
·必须通过调用EnableStatusCallback建立一个回调函数。
要了解异步操作的更多信息,请参阅联机文档“Visual C++程序员指南”中的“Internet初步:WinInet”。

请参阅:CInternetSession::CInternetSession