Windows Mobile GPRS底层API
来源:互联网 发布:做个真的我知乎 编辑:程序博客网 时间:2024/05/22 17:32
【API函数】: a)ConnMgrApiReadyEvent()函数 函数原型:HANDLE WINAPI ConnMgrApiReadyEvent(); 利用此函数来我们可以返回一个连接事件的句柄 ,注意在的得到句柄后要记得及时释放 b)ConnMgrConnectionStatus()函数 函数原型: HRESULT WINAPI ConnMgrConnectionStatus(HANDLE hConnection,DWORD * pdwStatus );利用此函数的返回值pdwStatus,我们可以得到很多的关于连接的信息,例如如果我们连接成功将返回CONNMGR_STATUS_CONNECTED,断开连接将返回CONNMGR_STATUS_DISCONNECTED,他的返回状态信息非常丰富,有14中之多,完全可以满足我们的应用需要; c)ConnMgrEnumDestinations()函数 函数原型: HRESULT WINAPI ConnMgrEnumDestinations(int nIndex,CONNMGR_DESTINATION_INFO * pDestInfo ); 一般我们的PDA在连接GPRS时都有好几个连接,利用此函数我们可以枚举出所有可用的连接,然后再对挑选的连接进行筛选得到一个最佳连接 接下来讲两个很重要的函数,我们将利用两个函数中的一个来发起连接,他们是: d)ConnMgrEstablishConnection()和ConnMgrEstablishConnectionSync()函数,这两个函数一个用于发起一个异步连接请求,一个用于同步请求,使用异步连接请求我们可以在发起连接后立即返回,而使用同步请求客户端将一直被阻塞知道函数返回确认连接,关于异步和同步我就不再叙述; 它们的原型依次为: HRESULT WINAPI ConnMgrEstablishConnection( CONNMGR_CONNECTIONINFO * pConnInfo, HANDLE * phConnection ); HRESULT WINAPI ConnMgrEstablishConnectionSync( CONNMGR_CONNECTIONINFO * pConnInfo, HANDLE * phConnection, DWORD dwTimeout, DWORD * pdwStatus ); 可以看到两个函数的第一个参数都为一个CONNMGR_CONNECTIONINFO对象,此对象为一个结构体,它保存了客户端发起连接请求的一系列信息,因此,在我们调用此函数时必须构造一个该对象,然后将其作为参数传入连接函数中。这里很有必要讲一下该结构体,该结构体的原型如下: typedef struct _CONNMGR_CONNECTIONINFO { DWORD cbSize; DWORD dwParams;DWORD dwFlags; DWORD dwPriority;BOOL bExclusive;BOOL bDisabled;GUID guidDestNet;HWND hWnd; UINT uMsg; LPARAM lParam;ULONG ulMaxCost; ULONG ulMinRcvBw; ULONG ulMaxConnLatency; } CONNMGR_CONNECTIONINFO; 其中参数dwFlags用于指定我们的接入点,比如我们常说的CMNER和CMWAP,而参数GUID则标志了我们对应于每个接入点的全球唯一标志符,关于如何得到或者查看GUID,我们可以在“Program FilesWindows CE Toolswce420POCKET PC 2003IncludeArmv4”目录下查看connmgr.h文件,里面包含了各个接入点的GUID,例如: CMNET 为:(0x436ef144, 0xb4fb, 0x4863, 0xa0, 0x41, 0x8f, 0x90, 0x5a, 0x62, 0xc5, 0x72) CMWAP为:0x7022e968, 0x5a97, 0x4051, 0xbc, 0x1c, 0xc5, 0x78, 0xe2, 0xfb, 0xa5, 0xd9 如果想更进一步了解,我们还可以通过查看注册表方式来查看PDA上连接管理器的相关连接信息,在PPC 2003中注册表路径为: [HKEY_LOCAL_MACHINECommConnMgr],如下图所示:(图显示不出来。。。) 首先我们利用ConnMgrApiReadyEvent()函数来确认是否有可用连接,如果有可用连接我们则利用ConnMgrEnumDestinatio ns()函数枚举所有可用连接,然后遍历所有连接调用我们的同步或异步连接方法ConnMgrEstablishConnectio nsync()与ConnMgrEstablishConnection()来发起连接,一旦连接成功后我们就可以进行我们伟大的下一步了,就是和我们的服务器进行通信。
- Windows Mobile GPRS底层API
- Windows Mobile GPRS底层API
- windows mobile 关闭gprs连接
- Windows Mobile GPRS拨号(C#)
- Windows Mobile中GPRS连接网络
- Windows Mobile中GPRS连接网络
- Windows Mobile中GPRS连接网络
- Windows Mobile中GPRS连接网络
- Windows Mobile中GPRS连接网络
- Windows Mobile中GPRS连接网络
- Windows Mobile中GPRS连接网络
- windows mobile建立gprs的socket通信
- Windows Mobile 笔记 - API
- 【C#】Windows Mobile 通过代码设置GPRS连接
- Windows Mobile 下使用C#进行GPRS、CDMA开发
- Windows Mobile 下使用C#进行GPRS、CDMA开发(转)
- Windows Mobile 开发系列文章收藏 - GPRS/上网设置
- (windows mobile) PDA/PPC下如何获取GPRS的网络流量
- 利用Rownum限制查询所返回的行数
- 关于eclipse的版本说明
- ExtJs在IE下存在的一个bug
- 从一次专业实践谈需求分析感想
- Item 8 防止因异常而离开析构函数
- Windows Mobile GPRS底层API
- jsp分页组件的使用
- WORD插入图片显示不正常 只显示底部一部分
- 四步法打造完美促销英文信
- 英文版Microsoft Visual Studio 6.0中, 莫名其妙间,点击“Find in Files”引起的开发环的崩溃问题解析:
- do{}while(0)妙用
- WinDbg调试DMP格式文件
- RMI简单实例
- AJP13协议