Windows CE6中的连接管理器为我们管理各种网络提供了极大的便利,让我们不必去接触底层的驱动。
- ConnMgrApiReadyEvent
这个函数返回一个事件的句柄用来检查连接管理器的接口是否准备好
Syntax
HANDLE WINAPI ConnMgrApiReadyEvent (
void
);
Parameters
Return Value
返回一个事件的句柄用来检查连接管理器的接口是否准备好,函数的调用者负责在使用完后关闭该事件句柄
Remarks
这个函数提供了一个方法来检查连接管理器的接口是否准备好
这个函数返回指定连接的连接状态
Syntax
HRESULT WINAPI ConnMgrConnectionStatus(
HANDLE hConnection,
DWORD *pdwStatus
);
Parameters
hConnection
[in] ConnMgrEstablishConnection返回的连接句柄
pdwStatus
[out] 返回指定连接的连接状态
Return Value
S_OK表示成功,其它表示失败
Remarks
这个函数枚举出所有可用的网络
Syntax
HRESULT WINAPI ConnMgrEnumDestinations(
int Index,
CONNMGR_DESTINATION_INFO *pDestInfo
);
Parameters
Index
[in] 网络的序号。如果要获得所有的可用网络信息,需要在第一次调用的时候初始化为0,后面每次调用加1,知道返回一个错误值
pDestInfo
[out] 指向CONNMGR_DESTINATION_INFO结构体,其包含枚举出来的信息
Return Value
S_OK表示成功,其它表示失败
Remarks
- ConnMgrEstablishConnection
这个函数创建一个异步连接请求
Syntax
HRESULT WINAPI ConnMgrEstablishConnection(
CONNMGR_CONNECTIONINFO *pConnInfo,
HANDLE *phConnection
);
Parameters
pConnInfo
[in] 指向结构体CONNMGR_CONNECTIONINFO,其中包含请求连接的相关参数
phConnection
[out] 一个指针指向一个连接的句柄
Return Value
S_OK表示成功,其它的值表示失败
Remarks
同一个时刻在手机中只能有一个连接,(彩信与Wifi、彩信与PC连接可以共存)
- ConnMgrEstablishConnectionSync
这个函数创建一个同步的连接请求,直到连接成功或者失败后才返回
Syntax
HRESULT WINAPI ConnMgrEstablishConnectionSync(
CONNMGR_CONNECTIONINFO *pConnInfo,
HANDLE *phConnection,
DWORD dwTimeout,
DWORD *pdwStatus
);
Parameters
pConnInfo
[in] 指向结构体CONNMGR_CONNECTIONINFO,其中包含请求连接的相关参数
phConnection
[out] 一个指针指向一个连接的句柄
dwTimeout
[in] 连接超时的时间
pdwStatus
[out] 返回最终的连接状态,pdwStatus是Connection Manager Status Constants中的一个状态
Return Value
S_OK表示成功,其它表示失败
Remarks
同一个时刻在手机中只能有一个连接,(彩信与Wifi、彩信与PC连接可以共存)
dwTimeout参数不支持
这个函数映射连接信息到一个GUID
Syntax
HRESULT WINAPI ConnMgrMapConRef(
ConnMgrConRefTypeEnum e,
LPCTSTR szConRef,
GUID *pGUID
);
Parameters
e
[in] 连接的类型
szConRef
[in] 与连接相关的信息
pGUID
[out] 返回一个连接的GUID
Return Value
S_OK表示成功,其它表示失败
Remarks
e 不支持
这个函数返回一个可以到达指定URL的目的网络的GUID
Syntax
HRESULT WINAPI ConnMgrMapURL(
LPTSTR pwszURL,
GUID *pguid,
DWORD *pdwIndex
);
Parameters
pwszURL
[in] 指向一个要隐射的URL
pguid
[out] 目标网络的GUID
pdwIndex
[in] 序号
Return Value
S_OK表示成功,其它表示失败
Remarks
pdwIndex不支持
这个函数从连接管理器中获得一些信息
Syntax
HRESULT WINAPI ConnMgrProviderMessage(
HANDLE hConnection,
const GUID *pguidProvider,
DWORD *pdwIndex,
DWORD dwMsg1,
DWORD dwMsg2,
PBYTE pParams,
ULONG cbParamSize
);
Parameters
hConnection
[in] ConnMgrEstablishConnection返回的连接句柄
pguidProvider
[in] 只支持IID_ConnPrv_IProxyExtension
pdwIndex
[in] 不支持
dwMsg1
[in] 不支持
dwMsg2
[in] 不支持
pParams
[in] [out] 获取信息的相应结构体
cbParamSize
[in] pParams的大小
Return Value
S_OK表示成功,其它表示失败
Remarks
只支持获得代理信息
- ConnMgrQueryDetailedStatus
这个函数用来查询连接管理器中所有连接的状态
Syntax
HRESULT WINAPI ConnMgrQueryDetailedStatus(
CONNMGR_CONNECTION_DETAILED_STATUS *pStatusBuffer,
DWORD *pcbBufferSize
);
Parameters
pStatusBuffer
[in] 指向CONNMGR_CONNECTION_DETAILED_STATUS结构的内存空间,用来保存查询的结果
pcbBufferSize
[in][out] pStatusBuffer 的大小
Return Value
S_OK表示成功,其它表示失败
Remarks
这个函数只返回所有的数据连接,不会返回声音连接
- ConnMgrRegisterForStatusChangeNotification
这个函数释放注册一个窗体句柄,当连接状态有变化时发送窗体消息通知
Syntax
HRESULT WINAPI ConnMgrRegisterForStatusChangeNotification(
BOOL fEnable,
HWND hWnd
);
Parameters
fEnable
[in] 注册或者取消窗体消息通知
hWnd
[in] 需要接收消息的窗体句柄
Return Value
S_OK表示成功,其它表示失败
Remarks
当有连接状态改变时,连接管理器通过窗体消息WM_CONNMGR_STATUS_CHANGE_NOTIFICATION_MSG 通知应用,其值为(WM_USER+0x1501)
这个函数释放一个指定的连接
Syntax
HRESULT WINAPI ConnMgrReleaseConnection(
HANDLE hConnection,
LONG lCache
);
Parameters
hConnection
[in] ConnMgrEstablishConnection返回的连接句柄
lCache
[in] 在真正断网前的延时时间
Return Value
S_OK表示成功,其它表示失败
Remarks
lCache不支持
- ConnMgrSetConnectionPriority
这个函数修改指定连接的优先级
Syntax
HRESULT WINAPI ConnMgrSetConnectionPriority(
HANDLE hConnection,
DWORD dwPriority
);
Parameters
hConnection
[in] ConnMgrEstablishConnection返回的连接句柄
dwPriority
[in] 新的优先级
Return Value
S_OK表示成功,其它表示失败
Remarks
(以上函数说明来源自网络)
从下节开始,将逐个介绍函数的用法。