[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
private struct RASDIALPARAMS
{
internal int dwSize;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x101)]
internal string szEntryName;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x81)]
internal string szPhoneNumber;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x81)]
internal string szCallbackNumber;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x101)]
internal string szUserName;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x101)]
internal string szPassword;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x10)]
internal string szDomain;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
private struct RASENTRYNAME
{
internal int dwSize;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x101)]
internal string szEntryName;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
private struct RASCONN
{
internal int dwSize;
internal int hrasconn;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x101)]
internal string szEntryName;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x11)]
internal string szDeviceType;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x81)]
internal string szDeviceName;
}
private enum RASCONNSTATE
{
RASCS_AllDevicesConnected = 4,
RASCS_AuthAck = 12,
RASCS_AuthCallback = 8,
RASCS_AuthChangePassword = 9,
RASCS_Authenticate = 5,
RASCS_Authenticated = 14,
RASCS_AuthLinkSpeed = 11,
RASCS_AuthNotify = 6,
RASCS_AuthProject = 10,
RASCS_AuthRetry = 7,
RASCS_CallbackSetByCaller = 0x1002,
RASCS_ConnectDevice = 2,
RASCS_Connected = 0x2000,
RASCS_DeviceConnected = 3,
RASCS_Disconnected = 0x2001,
RASCS_Interactive = 0x1000,
RASCS_OpenPort = 0,
RASCS_PasswordExpired = 0x1003,
RASCS_PortOpened = 1,
RASCS_PrepareForCallback = 15,
RASCS_Projected = 0x12,
RASCS_ReAuthenticate = 13,
RASCS_RetryAuthentication = 0x1001,
RASCS_SubEntryConnected = 0x13,
RASCS_SubEntryDisconnected = 20,
RASCS_WaitForCallback = 0x11,
RASCS_WaitForModemReset = 0x10
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
private struct RASCONNSTATUS
{
internal int dwSize;
internal RasConnection.RASCONNSTATE rasconnstate;
internal int dwError;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x11)]
internal string szDeviceType;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x81)]
internal string szDeviceName;
}