CInternetSession::CInternetSession

CInternetSession(LPCTSTR pstrAgent = NULL,
                 DWORD dwContext = 1,
                 DWORD dwAccessType = INTERNET_OPEN_TYPE_PRECONFIG,
                 LPCTSTR pstrProxyName = NULL,
                 LPCTSTR pstrProxyBypass = NULL,
                 DWORD dwFlags = 0
                );

参数:
pstrAgent指向字符串的指针,标识调用Internet函数应用或入口名(例如,“Microsoft Internet Browser”)。如果 pstrAgent 为NULL (缺省),框架调用全局函数AfxGetAppName,返回一个包含应用名的空终止字符串。一些协议使用此字符串来对服务器标识应用。
dwContext操作的上下文标识符。dwContext标识由CInternetSession::OnStatusCallback返回的状态信息。缺省设置为1;但是,你可为操作明确指定一个指定的上下文ID。对象及其所做的任何工作将与此上下文ID有关。如果dwFlags包括INTERNET_FLAG_ASYNC,由此对象创建的对象在状态回调例程注册后即具备异步行为。为了使一个函数同步结束,dwContext必须为此调用设置为0。
dwAccessType访问所需的类型。下列值是有效值,仅仅提供其中一个:
·INTERNET_OPEN_TYPE_PRECONFIG预配置(登录时)。此访问类型设作缺省的。
·INTERNET_OPEN_TYPE_DIRECT直接面向Internet。
·INTERNET_OPEN_TYPE_PROXY通过CERN代理。
pstrProxyName若dwAccessType设置为INTERNET_OPEN_TYPE_PROXY,建议的CERN代理名。缺省为NULL。
pstrProxyBypass指向包含服务器地址选项列表的字符串的指针。使用代理访问时,这些地址可能会被忽略。如果提供NULL值,忽略列表将从登录中读取。此参数只在dwAccessType设置为INTERNET_OPEN_TYPE_PROXY时才有意义。
dwFlags指示不同的选项,如缓存和异步行为。缺省设置为0。可能值包括:
·INTERNET_FLAG_DONT_CACHE不缓存数据,既在本地,也不在任何网关服务器中。
·INTERNET_FLAG_ASYNC将来对此对象的操作可能失败,返回ERROR_IO_PENDING。操作结束时,状态回调将与INTERNET_STATUS_ REQUEST_COMPLETE一起生成。此回调是线程的,而不是某个原始请求。必须调用EnableStatusCallback来建立一个状态回调例程,否则函数将同步完成。
·INTERNET_FLAG_OFFLINE下载操作只适用于永久性缓存。如果此项不存在于缓存中,将返回适当的错误代码。此标记可能用位或OR(|)操作符组合。

说明:
当一个CInternetSession对象被创建时,此成员函数被调用。
CInternetSession是被应用调用的第一个Internet函数。它初始化内部数据结构并为将来来自应用的调用做准备。
如果dwFlags包括INTERNET_FLAG_ASYNC,由此对象创建的对象在状态回调例程注册后即具备异步行为。
如果没有Internet连接能被打开,则CInternetSession产生一个AfxThrowInternetException。

请参阅:
CInternetSession::Close, CInternetSession::EnableStatusCallback, CInternetSession::GetContext