@msdn=http://msdn2.microsoft.com/en-us/library/Aa377380.aspx @pinvoke=http://pinvoke.net/$$$.htm Summary: RasEnumEntries !!!!C# Signature: [DllImport("rasapi32.dll", SetLastError=true,CharSet=CharSet.Auto)] static extern uint RasEnumEntries( IntPtr reserved, IntPtr lpszPhonebook, [In,Out] RASENTRYNAME[] lprasentryname, ref int lpcb, ref int lpcEntries); !!!!VB Signature: <DllImport("rasapi32.dll", EntryPoint:="RasEnumEntries", CharSet:=CharSet.Auto)> _ Private Shared Function RasEnumEntries( _ ByVal reserved As String, _ ByVal lpszPhoneBook As String, _ ByVal lpRasEntryName As IntPtr, _ ByRef lpc As Int32, _ ByRef lpcEntries As Int32) As ReturnCodes End Function !!!!User-Defined Types: None. !!!!Notes: None. !!!!Tips & Tricks: const int MAX_PATH = 260; const int RAS_MaxEntryName = 256; [StructLayout(LayoutKind.Sequential,CharSet=CharSet.Auto)] struct RASENTRYNAME { public int dwSize; [MarshalAs(UnmanagedType.ByValTStr,SizeConst=RAS_MaxEntryName + 1)] public string szEntryName; public int dwFlags; [MarshalAs(UnmanagedType.ByValTStr,SizeConst=MAX_PATH + 1)] public string szPhonebook; } !!!!Sample Code: using System; using System.Runtime.InteropServices; class RasEnumEntriesSample { const int MAX_PATH = 260; const int RAS_MaxEntryName = 256; [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] struct RASENTRYNAME { public int dwSize; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = RAS_MaxEntryName + 1)] public string szEntryName; public int dwFlags; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = MAX_PATH + 1)] public string szPhonebook; } [DllImport("rasapi32.dll", SetLastError = true, CharSet = CharSet.Auto)] static extern uint RasEnumEntries(IntPtr reserved, IntPtr lpszPhonebook, [In, Out] RASENTRYNAME[] lprasentryname, ref int lpcb, ref int lpcEntries); [STAThread] static void Main(string[] args) { int cb = Marshal.SizeOf(typeof(RASENTRYNAME)), entries = 0; RASENTRYNAME[] entryNames = new RASENTRYNAME[1]; entryNames[0].dwSize = Marshal.SizeOf(typeof(RASENTRYNAME)); //Get entry number uint nRet = RasEnumEntries(IntPtr.Zero, IntPtr.Zero, entryNames, ref cb, ref entries); if (entries == 0) return; string[] _EntryNames = new string[entries]; entryNames = new RASENTRYNAME[entries]; for (int i = 0; i < entries; i++) { entryNames[i].dwSize = Marshal.SizeOf(typeof(RASENTRYNAME)); } nRet = RasEnumEntries(IntPtr.Zero, IntPtr.Zero, entryNames, ref cb, ref entries); for (int i = 0; i < entries; i++) { _EntryNames[i] = entryNames[i].szEntryName; Console.WriteLine(_EntryNames[i]); } Console.ReadKey(); } } !!!!Alternative Managed API: http://www.codeplex.com/DotRas Documentation: RasEnumEntries@msdn on MSDN
Edit rasapi32.rasenume...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.