.NET Compact Framework下的3G应用2011-12-21 博客园 Jake Lin在.NET Compact Framework下开发3G应用可以有两个options,1:AT command, 2:RAS。其实RAS最终也是通过AT command来管理3G设备,RAS屏蔽了技术细节,很方便地建 立TCP/IP based 的网络连接,所以推荐使用RAS,WinCE本身提供了native API可以直接操作RAS,管理3G设备及其连接。与此同时RAS也支持有线电话拨号,GPRS等应用。RAS简介

RAS的详细介绍见 Overview of RAS由于.NET Compact Framework 不直接提供RAS组件,因此只能通过native invoke来使用RAS。RAS的native调用函数,事件及结构见 RAS Reference关键的RAS native调用
[DllImport("coredll.dll", CharSet = CharSet.Auto)]
private static extern Int32 RasGetEntryDialParams(string lpszPhoneBook,
byte[] lpRasDialParams,
out UInt32 lpfPassword);
[DllImport("coredll.dll", CharSet = CharSet.Auto)]
private static extern int RasDial(IntPtr pDialExtensions,
string pPhonebook,
byte[] pRasDialParam,
uint pNotifierType,
IntPtr pHwnd,
ref int pRasConn);
[DllImport("coredll.dll", CharSet = CharSet.Auto)]
private static extern int RasHangUp(int pSession);
[DllImport("coredll.dll", CharSet = CharSet.Auto)]
private static extern uint RasGetConnectStatus(int pSession,
byte[] lpRasConnStatus);