|  ras.h (5.2.3790.3959-Windows 5.0)  |   |  ras.h (6.0.6002.18005-Windows 6.0)  | 
 
       |   |  | 
      | skipping to change at line 36 |   | skipping to change at line 36 | 
      | #endif |   | #endif | 
       |   |  | 
      | #ifdef __cplusplus |   | #ifdef __cplusplus | 
      | extern "C" { |   | extern "C" { | 
      | #endif |   | #endif | 
       |   |  | 
      | #ifndef UNLEN |   | #ifndef UNLEN | 
      | #include <lmcons.h> |   | #include <lmcons.h> | 
      | #endif |   | #endif | 
       |   |  | 
       | 
       |   | // To use Quarantine APIs, applications should explicitly | 
       |   | // define USES_RAS_QUARANTINE_APIS. | 
       |   | #ifdef USES_RAS_QUARANTINE_APIS | 
       |   | #include <naptypes.h> | 
       |   |  | 
       |   | #define RASNAP_ProbationTime            0x00000001 | 
       |   |  | 
       |   | typedef struct _tagRasNapState | 
       |   | { | 
       |   |     DWORD          dwSize; | 
       |   |     DWORD          dwFlags; | 
       |   |     IsolationState isolationState; | 
       |   |     ProbationTime  probationTime; | 
       |   | } RASNAPSTATE, *LPRASNAPSTATE; | 
       |   | #endif // USES_RAS_QUARANTINE_APIS | 
       |   |                                                                                  | 
      | #include <pshpack4.h> |   | #include <pshpack4.h> | 
       | 
       |   | #include <in6addr.h> | 
       |   |  | 
      | #define RAS_MaxDeviceType     16 |   | #define RAS_MaxDeviceType     16 | 
      | #define RAS_MaxPhoneNumber    128 |   | #define RAS_MaxPhoneNumber    128 | 
      | #define RAS_MaxIpAddress      15 |   | #define RAS_MaxIpAddress      15 | 
      | #define RAS_MaxIpxAddress     21 |   | #define RAS_MaxIpxAddress     21 | 
       |   |  | 
      | #if (WINVER >= 0x400) |   | #if (WINVER >= 0x400) | 
      | #define RAS_MaxEntryName      256 |   | #define RAS_MaxEntryName      256 | 
      | #define RAS_MaxDeviceName     128 |   | #define RAS_MaxDeviceName     128 | 
      | #define RAS_MaxCallbackNumber RAS_MaxPhoneNumber |   | #define RAS_MaxCallbackNumber RAS_MaxPhoneNumber | 
       |   |  | 
      | skipping to change at line 65 |   | skipping to change at line 82 | 
      | #define RAS_MaxX25Address     200 |   | #define RAS_MaxX25Address     200 | 
      | #define RAS_MaxFacilities     200 |   | #define RAS_MaxFacilities     200 | 
      | #define RAS_MaxUserData       200 |   | #define RAS_MaxUserData       200 | 
      | #define RAS_MaxReplyMessage   1024 |   | #define RAS_MaxReplyMessage   1024 | 
      | #define RAS_MaxDnsSuffix      256 |   | #define RAS_MaxDnsSuffix      256 | 
       |   |  | 
      | DECLARE_HANDLE( HRASCONN ); |   | DECLARE_HANDLE( HRASCONN ); | 
      | #define LPHRASCONN HRASCONN* |   | #define LPHRASCONN HRASCONN* | 
       |   |  | 
      | #if (WINVER >= 0x501) |   | #if (WINVER >= 0x501) | 
       | 
      | #define RASCF_AllUsers         0x00000001 |   | #define RASCF_AllUsers       0x00000001 | 
      | #define RASCF_GlobalCreds      0x00000002 |   | #define RASCF_GlobalCreds     0x00000002 | 
       |   | #define RASCF_OwnerKnown      0x00000004 | 
       |   | #define RASCF_OwnerMatch      0x00000008 | 
       |   |  | 
       |   | #define RASCF_IsOwner(rascFlags)    (((rascFlags) & (RASCF_OwnerKnown | RASCF_Ow | 
       |   | nerMatch)) == (RASCF_OwnerKnown | RASCF_OwnerMatch)) | 
       |   | #define RASCF_IsNotOwner(rascFlags) (((rascFlags) & (RASCF_OwnerKnown | RASCF_Ow | 
       |   | nerMatch)) == (RASCF_OwnerKnown)) | 
      | #endif |   | #endif | 
       |   |  | 
      | /* Identifies an active RAS connection.  (See RasEnumConnections) |   | /* Identifies an active RAS connection.  (See RasEnumConnections) | 
      | */ |   | */ | 
      | #define RASCONNW struct tagRASCONNW |   | #define RASCONNW struct tagRASCONNW | 
      | RASCONNW |   | RASCONNW | 
      | { |   | { | 
      |     DWORD    dwSize; |   |     DWORD    dwSize; | 
      |     HRASCONN hrasconn; |   |     HRASCONN hrasconn; | 
      |     WCHAR    szEntryName[ RAS_MaxEntryName + 1 ]; |   |     WCHAR    szEntryName[ RAS_MaxEntryName + 1 ]; | 
       |   |  | 
      | #if (WINVER >= 0x400) |   | #if (WINVER >= 0x400) | 
      |     WCHAR    szDeviceType[ RAS_MaxDeviceType + 1 ]; |   |     WCHAR    szDeviceType[ RAS_MaxDeviceType + 1 ]; | 
      |     WCHAR    szDeviceName[ RAS_MaxDeviceName + 1 ]; |   |     WCHAR    szDeviceName[ RAS_MaxDeviceName + 1 ]; | 
      | #endif |   | #endif | 
      | #if (WINVER >= 0x401) |   | #if (WINVER >= 0x401) | 
      |     WCHAR    szPhonebook [ MAX_PATH ]; |   |     WCHAR    szPhonebook [ MAX_PATH ]; | 
      |     DWORD    dwSubEntry; |   |     DWORD    dwSubEntry; | 
      | #endif |   | #endif | 
      | #if (WINVER >= 0x500) |   | #if (WINVER >= 0x500) | 
       | 
      |     GUID    guidEntry; |   |     GUID     guidEntry; | 
      | #endif |   | #endif | 
      | #if (WINVER >= 0x501) |   | #if (WINVER >= 0x501) | 
       | 
      |        DWORD   dwFlags; |   |     DWORD    dwFlags; | 
      |        LUID    luid; |   |     LUID     luid; | 
       |   | #endif | 
       |   | #if (WINVER >= 0x600) | 
       |   |     GUID     guidCorrelationId; | 
      | #endif |   | #endif | 
      | }; |   | }; | 
       |   |  | 
      | #define RASCONNA struct tagRASCONNA |   | #define RASCONNA struct tagRASCONNA | 
      | RASCONNA |   | RASCONNA | 
      | { |   | { | 
      |     DWORD    dwSize; |   |     DWORD    dwSize; | 
      |     HRASCONN hrasconn; |   |     HRASCONN hrasconn; | 
      |     CHAR     szEntryName[ RAS_MaxEntryName + 1 ]; |   |     CHAR     szEntryName[ RAS_MaxEntryName + 1 ]; | 
       |   |  | 
       |   |  | 
      | skipping to change at line 114 |   | skipping to change at line 139 | 
      |     CHAR     szDeviceName[ RAS_MaxDeviceName + 1 ]; |   |     CHAR     szDeviceName[ RAS_MaxDeviceName + 1 ]; | 
      | #endif |   | #endif | 
      | #if (WINVER >= 0x401) |   | #if (WINVER >= 0x401) | 
      |     CHAR     szPhonebook [ MAX_PATH ]; |   |     CHAR     szPhonebook [ MAX_PATH ]; | 
      |     DWORD    dwSubEntry; |   |     DWORD    dwSubEntry; | 
      | #endif |   | #endif | 
      | #if (WINVER >= 0x500) |   | #if (WINVER >= 0x500) | 
      |     GUID     guidEntry; |   |     GUID     guidEntry; | 
      | #endif |   | #endif | 
      | #if (WINVER >= 0x501) |   | #if (WINVER >= 0x501) | 
       | 
      |        DWORD   dwFlags; |   |     DWORD    dwFlags; | 
      |        LUID    luid; |   |     LUID     luid; | 
       |   | #endif | 
       |   | #if (WINVER >= 0x600) | 
       |   |     GUID     guidCorrelationId; | 
      | #endif |   | #endif | 
      | }; |   | }; | 
       |   |  | 
      | #ifdef UNICODE |   | #ifdef UNICODE | 
      | #define RASCONN RASCONNW |   | #define RASCONN RASCONNW | 
      | #else |   | #else | 
      | #define RASCONN RASCONNA |   | #define RASCONN RASCONNA | 
      | #endif |   | #endif | 
       |   |  | 
      | #define LPRASCONNW RASCONNW* |   | #define LPRASCONNW RASCONNW* | 
       |   |  | 
      | skipping to change at line 277 |   | skipping to change at line 305 | 
      |     BYTE  *pbEapInfo; |   |     BYTE  *pbEapInfo; | 
      | }; |   | }; | 
       |   |  | 
      | #endif |   | #endif | 
       |   |  | 
      | /* Describes extended connection establishment options.  (See RasDial) |   | /* Describes extended connection establishment options.  (See RasDial) | 
      | */ |   | */ | 
      | #define RASDIALEXTENSIONS struct tagRASDIALEXTENSIONS |   | #define RASDIALEXTENSIONS struct tagRASDIALEXTENSIONS | 
      | RASDIALEXTENSIONS |   | RASDIALEXTENSIONS | 
      | { |   | { | 
       | 
      |     DWORD     dwSize; |   |     DWORD      dwSize; | 
      |     DWORD     dwfOptions; |   |     DWORD      dwfOptions; | 
      |     HWND      hwndParent; |   |     HWND       hwndParent; | 
      |     ULONG_PTR reserved; |   |     ULONG_PTR  reserved; | 
      | #if (WINVER >= 0x500) |   | #if (WINVER >= 0x500) | 
       | 
      |     ULONG_PTR reserved1; |   |     ULONG_PTR  reserved1; | 
      |     RASEAPINFO RasEapInfo; |   |     RASEAPINFO RasEapInfo; | 
      | #endif |   | #endif | 
      | }; |   | }; | 
       |   |  | 
      | #define LPRASDIALEXTENSIONS RASDIALEXTENSIONS* |   | #define LPRASDIALEXTENSIONS RASDIALEXTENSIONS* | 
       |   |  | 
      | /* 'dwfOptions' bit flags. |   | /* 'dwfOptions' bit flags. | 
      | */ |   | */ | 
      | #define RDEOPT_UsePrefixSuffix           0x00000001 |   | #define RDEOPT_UsePrefixSuffix           0x00000001 | 
      | #define RDEOPT_PausedStates              0x00000002 |   | #define RDEOPT_PausedStates              0x00000002 | 
       |   |  | 
      | skipping to change at line 374 |   | skipping to change at line 402 | 
      | RASPROJECTION |   | RASPROJECTION | 
      | { |   | { | 
      |     RASP_Amb = 0x10000, |   |     RASP_Amb = 0x10000, | 
      |     RASP_PppNbf = 0x803F, |   |     RASP_PppNbf = 0x803F, | 
      |     RASP_PppIpx = 0x802B, |   |     RASP_PppIpx = 0x802B, | 
      |     RASP_PppIp = 0x8021, |   |     RASP_PppIp = 0x8021, | 
      | #if (WINVER >= 0x500) |   | #if (WINVER >= 0x500) | 
      |     RASP_PppCcp = 0x80FD, |   |     RASP_PppCcp = 0x80FD, | 
      | #endif |   | #endif | 
      |     RASP_PppLcp = 0xC021, |   |     RASP_PppLcp = 0xC021, | 
       | 
       |   | #if (WINVER >= 0x600) | 
       |   |     RASP_PppIpv6 = 0x8057,   // To get Ipv6 projection information | 
       |   | #endif | 
       |   | #if (WINVER < 0x600) // SLIP | 
      |     RASP_Slip = 0x20000 |   |     RASP_Slip = 0x20000 | 
       | 
       |   | #endif // (WINVER < 0x600) // SLIP | 
      | }; |   | }; | 
       |   |  | 
      | #define LPRASPROJECTION RASPROJECTION* |   | #define LPRASPROJECTION RASPROJECTION* | 
       |   |  | 
      | /* Describes the result of a RAS AMB (Authentication Message Block) |   | /* Describes the result of a RAS AMB (Authentication Message Block) | 
      | ** projection.  This protocol is used with NT 3.1 and OS/2 1.3 downlevel |   | ** projection.  This protocol is used with NT 3.1 and OS/2 1.3 downlevel | 
      | ** RAS servers. |   | ** RAS servers. | 
      | */ |   | */ | 
      | #define RASAMBW struct tagRASAMBW |   | #define RASAMBW struct tagRASAMBW | 
      | RASAMBW |   | RASAMBW | 
       |   |  | 
      | skipping to change at line 542 |   | skipping to change at line 575 | 
      | #ifdef UNICODE |   | #ifdef UNICODE | 
      | #define RASPPPIP RASPPPIPW |   | #define RASPPPIP RASPPPIPW | 
      | #else |   | #else | 
      | #define RASPPPIP RASPPPIPA |   | #define RASPPPIP RASPPPIPA | 
      | #endif |   | #endif | 
       |   |  | 
      | #define LPRASPPPIPW RASPPPIPW* |   | #define LPRASPPPIPW RASPPPIPW* | 
      | #define LPRASPPPIPA RASPPPIPA* |   | #define LPRASPPPIPA RASPPPIPA* | 
      | #define LPRASPPPIP  RASPPPIP* |   | #define LPRASPPPIP  RASPPPIP* | 
       |   |  | 
       | 
       |   | /* Describes the results of a Ipv6 projection info | 
       |   | */ | 
       |   | #if (WINVER >= 0x600) | 
       |   |  | 
       |   | #define RASPPPIPV6 struct tagRASPPPIPV6 | 
       |   | RASPPPIPV6 | 
       |   | { | 
       |   |     DWORD dwSize; | 
       |   |     DWORD dwError; | 
       |   |     BYTE  bLocalInterfaceIdentifier[8]; | 
       |   |     BYTE  bPeerInterfaceIdentifier[8]; | 
       |   |     BYTE  bLocalCompressionProtocol[2]; | 
       |   |     BYTE  bPeerCompressionProtocol[2]; | 
       |   | }; | 
       |   |  | 
       |   | #define LPRASPPPIPV6  RASPPPIPV6* | 
       |   | #endif | 
       |   |                                                                                  | 
      | /* Describes the results of a PPP LCP/multi-link negotiation. |   | /* Describes the results of a PPP LCP/multi-link negotiation. | 
      | */ |   | */ | 
       |   |  | 
      | #if (WINVER >= 0x500) |   | #if (WINVER >= 0x500) | 
       |   |  | 
      | /* RASPPPLCP 'dwAuthenticatonProtocol' values. |   | /* RASPPPLCP 'dwAuthenticatonProtocol' values. | 
      | */ |   | */ | 
      | #define RASLCPAP_PAP          0xC023 |   | #define RASLCPAP_PAP          0xC023 | 
      | #define RASLCPAP_SPAP         0xC027 |   | #define RASLCPAP_SPAP         0xC027 | 
      | #define RASLCPAP_CHAP         0xC223 |   | #define RASLCPAP_CHAP         0xC223 | 
       |   |  | 
      | skipping to change at line 568 |   | skipping to change at line 619 | 
      | #define RASLCPAD_CHAP_MSV2    0x81 |   | #define RASLCPAD_CHAP_MSV2    0x81 | 
       |   |  | 
      | /* RASPPPLCP 'dwOptions' and 'dwServerOptions' flags. |   | /* RASPPPLCP 'dwOptions' and 'dwServerOptions' flags. | 
      | */ |   | */ | 
      | #define RASLCPO_PFC           0x00000001 |   | #define RASLCPO_PFC           0x00000001 | 
      | #define RASLCPO_ACFC          0x00000002 |   | #define RASLCPO_ACFC          0x00000002 | 
      | #define RASLCPO_SSHF          0x00000004 |   | #define RASLCPO_SSHF          0x00000004 | 
      | #define RASLCPO_DES_56        0x00000008 |   | #define RASLCPO_DES_56        0x00000008 | 
      | #define RASLCPO_3_DES         0x00000010 |   | #define RASLCPO_3_DES         0x00000010 | 
       |   |  | 
       | 
       |   | #if (WINVER >= 0x600) | 
       |   | #define RASLCPO_AES_128              0x00000020 | 
       |   | #define RASLCPO_AES_256              0x00000040 | 
       |   | #endif /* WINVER >= 0x0600 */ | 
       |   |                                                                                  | 
      | #endif |   | #endif | 
       |   |  | 
      | #define RASPPPLCPW struct tagRASPPPLCPW |   | #define RASPPPLCPW struct tagRASPPPLCPW | 
      | RASPPPLCPW |   | RASPPPLCPW | 
      | { |   | { | 
      |     DWORD dwSize; |   |     DWORD dwSize; | 
      |     BOOL  fBundled; |   |     BOOL  fBundled; | 
       |   |  | 
      | #if (WINVER >= 0x500) |   | #if (WINVER >= 0x500) | 
      |     DWORD dwError; |   |     DWORD dwError; | 
       |   |  | 
      | skipping to change at line 628 |   | skipping to change at line 684 | 
      | #ifdef UNICODE |   | #ifdef UNICODE | 
      | #define RASPPPLCP RASPPPLCPW |   | #define RASPPPLCP RASPPPLCPW | 
      | #else |   | #else | 
      | #define RASPPPLCP RASPPPLCPA |   | #define RASPPPLCP RASPPPLCPA | 
      | #endif |   | #endif | 
       |   |  | 
      | #define LPRASPPPLCPW RASPPPLCPW* |   | #define LPRASPPPLCPW RASPPPLCPW* | 
      | #define LPRASPPPLCPA RASPPPLCPA* |   | #define LPRASPPPLCPA RASPPPLCPA* | 
      | #define LPRASPPPLCP  RASPPPLCP* |   | #define LPRASPPPLCP  RASPPPLCP* | 
       |   |  | 
       | 
       |   | #if (WINVER < 0x600) // SLIP | 
       |   |                                                                                  | 
      | /* Describes the results of a SLIP (Serial Line IP) projection. |   | /* Describes the results of a SLIP (Serial Line IP) projection. | 
      | */ |   | */ | 
      | #define RASSLIPW struct tagRASSLIPW |   | #define RASSLIPW struct tagRASSLIPW | 
      | RASSLIPW |   | RASSLIPW | 
      | { |   | { | 
      |     DWORD dwSize; |   |     DWORD dwSize; | 
      |     DWORD dwError; |   |     DWORD dwError; | 
      |     WCHAR szIpAddress[ RAS_MaxIpAddress + 1 ]; |   |     WCHAR szIpAddress[ RAS_MaxIpAddress + 1 ]; | 
      | }; |   | }; | 
       |   |  | 
       |   |  | 
      | skipping to change at line 656 |   | skipping to change at line 714 | 
      | #ifdef UNICODE |   | #ifdef UNICODE | 
      | #define RASSLIP RASSLIPW |   | #define RASSLIP RASSLIPW | 
      | #else |   | #else | 
      | #define RASSLIP RASSLIPA |   | #define RASSLIP RASSLIPA | 
      | #endif |   | #endif | 
       |   |  | 
      | #define LPRASSLIPW RASSLIPW* |   | #define LPRASSLIPW RASSLIPW* | 
      | #define LPRASSLIPA RASSLIPA* |   | #define LPRASSLIPA RASSLIPA* | 
      | #define LPRASSLIP  RASSLIP* |   | #define LPRASSLIP  RASSLIP* | 
       |   |  | 
       | 
       |   | #endif // SLIP | 
       |   |                                                                                  | 
      | #if (WINVER >= 0x500) |   | #if (WINVER >= 0x500) | 
       |   |  | 
      | /* Describes the results of a PPP CCP (Compression Control Protocol) |   | /* Describes the results of a PPP CCP (Compression Control Protocol) | 
      | projection. |   | projection. | 
      | */ |   | */ | 
       |   |  | 
      | /* RASPPPCCP 'dwCompressionAlgorithm' values. |   | /* RASPPPCCP 'dwCompressionAlgorithm' values. | 
      | */ |   | */ | 
       | 
      | #define RASCCPCA_MPPC         0x00000006 |   | #define RASCCPCA_MPPC             0x00000006 | 
      | #define RASCCPCA_STAC         0x00000005 |   | #define RASCCPCA_STAC             0x00000005 | 
       |   |  | 
      | /* RASPPPCCP 'dwOptions' values. |   | /* RASPPPCCP 'dwOptions' values. | 
      | */ |   | */ | 
      | #define RASCCPO_Compression       0x00000001 |   | #define RASCCPO_Compression       0x00000001 | 
      | #define RASCCPO_HistoryLess       0x00000002 |   | #define RASCCPO_HistoryLess       0x00000002 | 
      | #define RASCCPO_Encryption56bit   0x00000010 |   | #define RASCCPO_Encryption56bit   0x00000010 | 
      | #define RASCCPO_Encryption40bit   0x00000020 |   | #define RASCCPO_Encryption40bit   0x00000020 | 
      | #define RASCCPO_Encryption128bit  0x00000040 |   | #define RASCCPO_Encryption128bit  0x00000040 | 
       |   |  | 
      | #define RASPPPCCP struct tagRASPPPCCP |   | #define RASPPPCCP struct tagRASPPPCCP | 
       |   |  | 
      | skipping to change at line 771 |   | skipping to change at line 831 | 
      | */ |   | */ | 
      | #define RASIPADDR struct RASIPADDR |   | #define RASIPADDR struct RASIPADDR | 
      | RASIPADDR |   | RASIPADDR | 
      | { |   | { | 
      |     BYTE a; |   |     BYTE a; | 
      |     BYTE b; |   |     BYTE b; | 
      |     BYTE c; |   |     BYTE c; | 
      |     BYTE d; |   |     BYTE d; | 
      | }; |   | }; | 
       |   |  | 
       | 
       |   | #if (WINVER >= 0x600) | 
       |   |  | 
       |   | /* A RAS IPv6 address. | 
       |   | */ | 
       |   | typedef struct in6_addr RASIPV6ADDR; | 
       |   | #endif | 
       |   |                                                                                  | 
      | #if (WINVER >= 0x500) |   | #if (WINVER >= 0x500) | 
       |   |  | 
      | #define ET_None         0  // No encryption |   | #define ET_None         0  // No encryption | 
      | #define ET_Require      1  // Require Encryption |   | #define ET_Require      1  // Require Encryption | 
      | #define ET_RequireMax   2  // Require max encryption |   | #define ET_RequireMax   2  // Require max encryption | 
      | #define ET_Optional     3  // Do encryption if possible. None Ok. |   | #define ET_Optional     3  // Do encryption if possible. None Ok. | 
       |   |  | 
      | #endif |   | #endif | 
       |   |  | 
       | 
      | #define VS_Default             0   // default (PPTP for now) |   | #define VS_Default      0   // default (PPTP for now) | 
      | #define VS_PptpOnly        1   // Only PPTP is attempted. |   | #define VS_PptpOnly     1   // Only PPTP is attempted. | 
      | #define VS_PptpFirst   2   // PPTP is tried first. |   | #define VS_PptpFirst    2   // PPTP is tried first. | 
      | #define VS_L2tpOnly    3       // Only L2TP is attempted. |   | #define VS_L2tpOnly     3   // Only L2TP is attempted. | 
      | #define VS_L2tpFirst   4       // L2TP is tried first. |   | #define VS_L2tpFirst    4   // L2TP is tried first. | 
       |   |  | 
      | /* A RAS phone book entry. |   | /* A RAS phone book entry. | 
      | */ |   | */ | 
      | #define RASENTRYA struct tagRASENTRYA |   | #define RASENTRYA struct tagRASENTRYA | 
      | RASENTRYA |   | RASENTRYA | 
      | { |   | { | 
      |     DWORD       dwSize; |   |     DWORD       dwSize; | 
      |     DWORD       dwfOptions; |   |     DWORD       dwfOptions; | 
      |     // |   |     // | 
      |     // Location/phone number. |   |     // Location/phone number. | 
       |   |  | 
      | skipping to change at line 892 |   | skipping to change at line 959 | 
      |     // |   |     // | 
      |     CHAR        szCustomDialDll[MAX_PATH]; |   |     CHAR        szCustomDialDll[MAX_PATH]; | 
       |   |  | 
      |     // |   |     // | 
      |     // DwVpnStrategy |   |     // DwVpnStrategy | 
      |     // |   |     // | 
      |     DWORD       dwVpnStrategy; |   |     DWORD       dwVpnStrategy; | 
      | #endif |   | #endif | 
       |   |  | 
      | #if (WINVER >= 0x501) |   | #if (WINVER >= 0x501) | 
       | 
      |        // |   |     // | 
      |        // More RASEO_* options |   |     // More RASEO_* options | 
      |        // |   |     // | 
      |        DWORD           dwfOptions2; |   |     DWORD       dwfOptions2; | 
       |   |  | 
       | 
      |        // |   |     // | 
      |        // For future use |   |     // For future use | 
      |        // |   |     // | 
      |        DWORD       dwfOptions3; |   |     DWORD       dwfOptions3; | 
       |   |  | 
       | 
      |        CHAR            szDnsSuffix[RAS_MaxDnsSuffix]; |   |     CHAR        szDnsSuffix[RAS_MaxDnsSuffix]; | 
       |   |  | 
       | 
      |        DWORD       dwTcpWindowSize; |   |     DWORD       dwTcpWindowSize; | 
       |   |  | 
       | 
      |        CHAR        szPrerequisitePbk[MAX_PATH]; |   |     CHAR        szPrerequisitePbk[MAX_PATH]; | 
       |   |  | 
       | 
      |        CHAR        szPrerequisiteEntry[RAS_MaxEntryName + 1]; |   |     CHAR        szPrerequisiteEntry[RAS_MaxEntryName + 1]; | 
       |   |  | 
       | 
      |        DWORD       dwRedialCount; |   |     DWORD       dwRedialCount; | 
       |   |  | 
       | 
      |        DWORD       dwRedialPause; |   |     DWORD       dwRedialPause; | 
       |   | #endif | 
       |   |     // | 
       |   |     // PPP/IPv6 | 
       |   |     // | 
       |   | #if (WINVER >= 0x600) | 
       |   |     RASIPV6ADDR   ipv6addrDns; | 
       |   |     RASIPV6ADDR   ipv6addrDnsAlt; | 
       |   |     DWORD         dwIPv4InterfaceMetric; | 
       |   |     DWORD         dwIPv6InterfaceMetric; | 
      | #endif |   | #endif | 
       | 
      |                                                                                  |   |  | 
      | }; |   | }; | 
       |   |  | 
      | #define RASENTRYW struct tagRASENTRYW |   | #define RASENTRYW struct tagRASENTRYW | 
      | RASENTRYW |   | RASENTRYW | 
      | { |   | { | 
      |     DWORD       dwSize; |   |     DWORD       dwSize; | 
      |     DWORD       dwfOptions; |   |     DWORD       dwfOptions; | 
      |     // |   |     // | 
      |     // Location/phone number |   |     // Location/phone number | 
      |     // |   |     // | 
       |   |  | 
      | skipping to change at line 1020 |   | skipping to change at line 1095 | 
      |     // |   |     // | 
      |     WCHAR       szCustomDialDll[MAX_PATH]; |   |     WCHAR       szCustomDialDll[MAX_PATH]; | 
       |   |  | 
      |     // |   |     // | 
      |     // Vpn Strategy |   |     // Vpn Strategy | 
      |     // |   |     // | 
      |     DWORD       dwVpnStrategy; |   |     DWORD       dwVpnStrategy; | 
      | #endif |   | #endif | 
       |   |  | 
      | #if (WINVER >= 0x501) |   | #if (WINVER >= 0x501) | 
       | 
      |        // |   |     // | 
      |        // More RASEO_* options |   |     // More RASEO_* options | 
      |        // |   |     // | 
      |        DWORD           dwfOptions2; |   |     DWORD       dwfOptions2; | 
       |   |  | 
       | 
      |        // |   |     // | 
      |        // For future use |   |     // For future use | 
      |        // |   |     // | 
      |        DWORD       dwfOptions3; |   |     DWORD       dwfOptions3; | 
       |   |  | 
       | 
      |        WCHAR           szDnsSuffix[RAS_MaxDnsSuffix]; |   |     WCHAR       szDnsSuffix[RAS_MaxDnsSuffix]; | 
       |   |  | 
       | 
      |        DWORD       dwTcpWindowSize; |   |     DWORD       dwTcpWindowSize; | 
       |   |  | 
       | 
      |        WCHAR       szPrerequisitePbk[MAX_PATH]; |   |     WCHAR       szPrerequisitePbk[MAX_PATH]; | 
       |   |  | 
       | 
      |        WCHAR       szPrerequisiteEntry[RAS_MaxEntryName + 1]; |   |     WCHAR       szPrerequisiteEntry[RAS_MaxEntryName + 1]; | 
       |   |  | 
       | 
      |        DWORD       dwRedialCount; |   |     DWORD       dwRedialCount; | 
       |   |  | 
       | 
      |        DWORD       dwRedialPause; |   |     DWORD       dwRedialPause; | 
       |   | #endif | 
       |   |     // | 
       |   |     // PPP/IPv6 | 
       |   |     // | 
       |   | #if (WINVER >= 0x600) | 
       |   |     RASIPV6ADDR   ipv6addrDns; | 
       |   |     RASIPV6ADDR   ipv6addrDnsAlt; | 
       |   |     DWORD         dwIPv4InterfaceMetric; | 
       |   |     DWORD         dwIPv6InterfaceMetric; | 
      | #endif |   | #endif | 
      | }; |   | }; | 
       |   |  | 
      | #ifdef UNICODE |   | #ifdef UNICODE | 
      | #define RASENTRY RASENTRYW |   | #define RASENTRY RASENTRYW | 
      | #else |   | #else | 
      | #define RASENTRY RASENTRYA |   | #define RASENTRY RASENTRYA | 
      | #endif |   | #endif | 
       |   |  | 
      | #define LPRASENTRYW RASENTRYW* |   | #define LPRASENTRYW RASENTRYW* | 
       |   |  | 
      | skipping to change at line 1111 |   | skipping to change at line 1195 | 
      | #define RASEO2_DontNegotiateMultilink   0x00000004 |   | #define RASEO2_DontNegotiateMultilink   0x00000004 | 
      | #define RASEO2_DontUseRasCredentials    0x00000008 |   | #define RASEO2_DontUseRasCredentials    0x00000008 | 
      | #define RASEO2_UsePreSharedKey          0x00000010 |   | #define RASEO2_UsePreSharedKey          0x00000010 | 
      | #define RASEO2_Internet                 0x00000020 |   | #define RASEO2_Internet                 0x00000020 | 
      | #define RASEO2_DisableNbtOverIP         0x00000040 |   | #define RASEO2_DisableNbtOverIP         0x00000040 | 
      | #define RASEO2_UseGlobalDeviceSettings  0x00000080 |   | #define RASEO2_UseGlobalDeviceSettings  0x00000080 | 
      | #define RASEO2_ReconnectIfDropped       0x00000100 |   | #define RASEO2_ReconnectIfDropped       0x00000100 | 
      | #define RASEO2_SharePhoneNumbers        0x00000200 |   | #define RASEO2_SharePhoneNumbers        0x00000200 | 
      | #endif |   | #endif | 
       |   |  | 
       | 
       |   | #if (WINVER >= 0x600) | 
       |   | #define RASEO2_SecureRoutingCompartment     0x00000400 | 
       |   | #define RASEO2_UseTypicalSettings           0x00000800 | 
       |   | #define RASEO2_IPv6SpecificNameServers      0x00001000 | 
       |   | #define RASEO2_IPv6RemoteDefaultGateway     0x00002000 | 
       |   | #define RASEO2_RegisterIpWithDNS            0x00004000 | 
       |   | #define RASEO2_UseDNSSuffixForRegistration  0x00008000 | 
       |   | #define RASEO2_IPv4ExplicitMetric           0x00010000 | 
       |   | #define RASEO2_IPv6ExplicitMetric           0x00020000 | 
       |   | #define RASEO2_DisableIKENameEkuCheck  0x00040000 | 
       |   | #endif | 
       |   |                                                                                  | 
      | /* RASENTRY 'dwProtocols' bit flags. |   | /* RASENTRY 'dwProtocols' bit flags. | 
      | */ |   | */ | 
      | #define RASNP_NetBEUI                   0x00000001 |   | #define RASNP_NetBEUI                   0x00000001 | 
      | #define RASNP_Ipx                       0x00000002 |   | #define RASNP_Ipx                       0x00000002 | 
      | #define RASNP_Ip                        0x00000004 |   | #define RASNP_Ip                        0x00000004 | 
       | 
       |   | #if (WINVER >= 0x600) | 
       |   | #define RASNP_Ipv6                      0x00000008 | 
       |   | #endif | 
       |   |  | 
      | /* RASENTRY 'dwFramingProtocols' bit flags. |   | /* RASENTRY 'dwFramingProtocols' bit flags. | 
      | */ |   | */ | 
      | #define RASFP_Ppp                       0x00000001 |   | #define RASFP_Ppp                       0x00000001 | 
      | #define RASFP_Slip                      0x00000002 |   | #define RASFP_Slip                      0x00000002 | 
      | #define RASFP_Ras                       0x00000004 |   | #define RASFP_Ras                       0x00000004 | 
       |   |  | 
      | /* RASENTRY 'szDeviceType' default strings. |   | /* RASENTRY 'szDeviceType' default strings. | 
      | */ |   | */ | 
      | #define RASDT_Modem                     TEXT("modem") |   | #define RASDT_Modem                     TEXT("modem") | 
      | #define RASDT_Isdn                      TEXT("isdn") |   | #define RASDT_Isdn                      TEXT("isdn") | 
      | #define RASDT_X25                       TEXT("x25") |   | #define RASDT_X25                       TEXT("x25") | 
      | #define RASDT_Vpn                       TEXT("vpn") |   | #define RASDT_Vpn                       TEXT("vpn") | 
      | #define RASDT_Pad                       TEXT("pad") |   | #define RASDT_Pad                       TEXT("pad") | 
      | #define RASDT_Generic                   TEXT("GENERIC") |   | #define RASDT_Generic                   TEXT("GENERIC") | 
       | 
      | #define RASDT_Serial                           TEXT("SERIAL") |   | #define RASDT_Serial                    TEXT("SERIAL") | 
      | #define RASDT_FrameRelay                TEXT("FRAMERELAY") |   | #define RASDT_FrameRelay                TEXT("FRAMERELAY") | 
      | #define RASDT_Atm                       TEXT("ATM") |   | #define RASDT_Atm                       TEXT("ATM") | 
      | #define RASDT_Sonet                     TEXT("SONET") |   | #define RASDT_Sonet                     TEXT("SONET") | 
      | #define RASDT_SW56                      TEXT("SW56") |   | #define RASDT_SW56                      TEXT("SW56") | 
      | #define RASDT_Irda                      TEXT("IRDA") |   | #define RASDT_Irda                      TEXT("IRDA") | 
      | #define RASDT_Parallel                  TEXT("PARALLEL") |   | #define RASDT_Parallel                  TEXT("PARALLEL") | 
      | #if (WINVER >= 0x501) |   | #if (WINVER >= 0x501) | 
      | #define RASDT_PPPoE                     TEXT("PPPoE") |   | #define RASDT_PPPoE                     TEXT("PPPoE") | 
      | #endif |   | #endif | 
       |   |  | 
      | // The entry type used to determine which UI properties |   | // The entry type used to determine which UI properties | 
      | // are to be presented to user.  This generally corresponds |   | // are to be presented to user.  This generally corresponds | 
      | // to a Connections "add" wizard selection. |   | // to a Connections "add" wizard selection. | 
      | // |   | // | 
      | #define RASET_Phone     1  // Phone lines: modem, ISDN, X.25, etc |   | #define RASET_Phone     1  // Phone lines: modem, ISDN, X.25, etc | 
      | #define RASET_Vpn       2  // Virtual private network |   | #define RASET_Vpn       2  // Virtual private network | 
       | 
       |   |                                                                                  | 
       |   | #if (WINVER < 0x600) | 
      | #define RASET_Direct    3  // Direct connect: serial, parallel |   | #define RASET_Direct    3  // Direct connect: serial, parallel | 
       | 
       |   | #endif // (WINVER < 0x600) | 
       |   |                                                                                  | 
      | #define RASET_Internet  4  // BaseCamp internet |   | #define RASET_Internet  4  // BaseCamp internet | 
      | #if (WINVER >= 0x501) |   | #if (WINVER >= 0x501) | 
      | #define RASET_Broadband 5  // Broadband |   | #define RASET_Broadband 5  // Broadband | 
      | #endif |   | #endif | 
       |   |  | 
      | /* Old AutoDial DLL function prototype. |   | /* Old AutoDial DLL function prototype. | 
      | ** |   | ** | 
      | ** This prototype is documented for backward-compatibility |   | ** This prototype is documented for backward-compatibility | 
      | ** purposes only.  It is superceded by the RASADFUNCA |   | ** purposes only.  It is superceded by the RASADFUNCA | 
      | ** and RASADFUNCW definitions below.  DO NOT USE THIS |   | ** and RASADFUNCW definitions below.  DO NOT USE THIS | 
       |   |  | 
      | skipping to change at line 1269 |   | skipping to change at line 1372 | 
      | #define LPRASSUBENTRY  RASSUBENTRY* |   | #define LPRASSUBENTRY  RASSUBENTRY* | 
       |   |  | 
      | /* Ras{Get,Set}Credentials structure.  These calls |   | /* Ras{Get,Set}Credentials structure.  These calls | 
      | ** supercede Ras{Get,Set}EntryDialParams. |   | ** supercede Ras{Get,Set}EntryDialParams. | 
      | */ |   | */ | 
      | #define RASCREDENTIALSA struct tagRASCREDENTIALSA |   | #define RASCREDENTIALSA struct tagRASCREDENTIALSA | 
      | RASCREDENTIALSA |   | RASCREDENTIALSA | 
      | { |   | { | 
      |     DWORD dwSize; |   |     DWORD dwSize; | 
      |     DWORD dwMask; |   |     DWORD dwMask; | 
       | 
      |     CHAR szUserName[ UNLEN + 1 ]; |   |     CHAR  szUserName[ UNLEN + 1 ]; | 
      |     CHAR szPassword[ PWLEN + 1 ]; |   |     CHAR  szPassword[ PWLEN + 1 ]; | 
      |     CHAR szDomain[ DNLEN + 1 ]; |   |     CHAR  szDomain[ DNLEN + 1 ]; | 
      | }; |   | }; | 
       |   |  | 
      | #define RASCREDENTIALSW struct tagRASCREDENTIALSW |   | #define RASCREDENTIALSW struct tagRASCREDENTIALSW | 
      | RASCREDENTIALSW |   | RASCREDENTIALSW | 
      | { |   | { | 
      |     DWORD dwSize; |   |     DWORD dwSize; | 
      |     DWORD dwMask; |   |     DWORD dwMask; | 
      |     WCHAR szUserName[ UNLEN + 1 ]; |   |     WCHAR szUserName[ UNLEN + 1 ]; | 
      |     WCHAR szPassword[ PWLEN + 1 ]; |   |     WCHAR szPassword[ PWLEN + 1 ]; | 
      |     WCHAR szDomain[ DNLEN + 1 ]; |   |     WCHAR szDomain[ DNLEN + 1 ]; | 
       |   |  | 
      | skipping to change at line 1296 |   | skipping to change at line 1399 | 
      | #else |   | #else | 
      | #define RASCREDENTIALS RASCREDENTIALSA |   | #define RASCREDENTIALS RASCREDENTIALSA | 
      | #endif |   | #endif | 
       |   |  | 
      | #define LPRASCREDENTIALSW RASCREDENTIALSW* |   | #define LPRASCREDENTIALSW RASCREDENTIALSW* | 
      | #define LPRASCREDENTIALSA RASCREDENTIALSA* |   | #define LPRASCREDENTIALSA RASCREDENTIALSA* | 
      | #define LPRASCREDENTIALS  RASCREDENTIALS* |   | #define LPRASCREDENTIALS  RASCREDENTIALS* | 
       |   |  | 
      | /* RASCREDENTIALS 'dwMask' values. |   | /* RASCREDENTIALS 'dwMask' values. | 
      | */ |   | */ | 
       | 
      | #define RASCM_UserName          0x00000001 |   | #define RASCM_UserName           0x00000001 | 
      | #define RASCM_Password          0x00000002 |   | #define RASCM_Password           0x00000002 | 
      | #define RASCM_Domain            0x00000004 |   | #define RASCM_Domain             0x00000004 | 
      | #if (WINVER >= 501) |   | #if (WINVER >= 501) | 
      | #define RASCM_DefaultCreds       0x00000008 |   | #define RASCM_DefaultCreds       0x00000008 | 
      | #define RASCM_PreSharedKey       0x00000010 |   | #define RASCM_PreSharedKey       0x00000010 | 
      | #define RASCM_ServerPreSharedKey 0x00000020 |   | #define RASCM_ServerPreSharedKey 0x00000020 | 
      | #define RASCM_DDMPreSharedKey    0x00000040 |   | #define RASCM_DDMPreSharedKey    0x00000040 | 
      | #endif |   | #endif | 
       |   |  | 
      | /* AutoDial address properties. |   | /* AutoDial address properties. | 
      | */ |   | */ | 
      | #define RASAUTODIALENTRYA struct tagRASAUTODIALENTRYA |   | #define RASAUTODIALENTRYA struct tagRASAUTODIALENTRYA | 
      | RASAUTODIALENTRYA |   | RASAUTODIALENTRYA | 
      | { |   | { | 
      |     DWORD dwSize; |   |     DWORD dwSize; | 
      |     DWORD dwFlags; |   |     DWORD dwFlags; | 
      |     DWORD dwDialingLocation; |   |     DWORD dwDialingLocation; | 
       | 
      |     CHAR szEntry[ RAS_MaxEntryName + 1]; |   |     CHAR szEntry[ RAS_MaxEntryName + 1 ]; | 
      | }; |   | }; | 
       |   |  | 
      | #define RASAUTODIALENTRYW struct tagRASAUTODIALENTRYW |   | #define RASAUTODIALENTRYW struct tagRASAUTODIALENTRYW | 
      | RASAUTODIALENTRYW |   | RASAUTODIALENTRYW | 
      | { |   | { | 
      |     DWORD dwSize; |   |     DWORD dwSize; | 
      |     DWORD dwFlags; |   |     DWORD dwFlags; | 
      |     DWORD dwDialingLocation; |   |     DWORD dwDialingLocation; | 
       | 
      |     WCHAR szEntry[ RAS_MaxEntryName + 1]; |   |     WCHAR szEntry[ RAS_MaxEntryName + 1 ]; | 
      | }; |   | }; | 
       |   |  | 
      | #ifdef UNICODE |   | #ifdef UNICODE | 
      | #define RASAUTODIALENTRY RASAUTODIALENTRYW |   | #define RASAUTODIALENTRY RASAUTODIALENTRYW | 
      | #else |   | #else | 
      | #define RASAUTODIALENTRY RASAUTODIALENTRYA |   | #define RASAUTODIALENTRY RASAUTODIALENTRYA | 
      | #endif |   | #endif | 
       |   |  | 
      | #define LPRASAUTODIALENTRYW RASAUTODIALENTRYW* |   | #define LPRASAUTODIALENTRYW RASAUTODIALENTRYW* | 
      | #define LPRASAUTODIALENTRYA RASAUTODIALENTRYA* |   | #define LPRASAUTODIALENTRYA RASAUTODIALENTRYA* | 
       |   |  | 
      | skipping to change at line 1383 |   | skipping to change at line 1486 | 
       |   |  | 
      | #ifdef UNICODE |   | #ifdef UNICODE | 
      | #define RASEAPUSERIDENTITY RASEAPUSERIDENTITYW |   | #define RASEAPUSERIDENTITY RASEAPUSERIDENTITYW | 
      | #else |   | #else | 
      | #define RASEAPUSERIDENTITY RASEAPUSERIDENTITYA |   | #define RASEAPUSERIDENTITY RASEAPUSERIDENTITYA | 
      | #endif |   | #endif | 
       |   |  | 
      | #define LPRASEAPUSERIDENTITYW RASEAPUSERIDENTITYW* |   | #define LPRASEAPUSERIDENTITYW RASEAPUSERIDENTITYW* | 
      | #define LPRASEAPUSERIDENTITYA RASEAPUSERIDENTITYA* |   | #define LPRASEAPUSERIDENTITYA RASEAPUSERIDENTITYA* | 
       |   |  | 
       | 
       |   | #define LPRASEAPUSERIDENTITY  RASEAPUSERIDENTITY* | 
       |   |                                                                                  | 
      | typedef DWORD (WINAPI *PFNRASGETBUFFER) ( |   | typedef DWORD (WINAPI *PFNRASGETBUFFER) ( | 
      |                             PBYTE *ppBuffer, |   |                             PBYTE *ppBuffer, | 
      |                             PDWORD pdwSize |   |                             PDWORD pdwSize | 
      |                             ); |   |                             ); | 
       |   |  | 
      | typedef DWORD (WINAPI *PFNRASFREEBUFFER) ( |   | typedef DWORD (WINAPI *PFNRASFREEBUFFER) ( | 
      |                             PBYTE pBufer); |   |                             PBYTE pBufer); | 
       |   |  | 
      | typedef DWORD (WINAPI *PFNRASSENDBUFFER) ( |   | typedef DWORD (WINAPI *PFNRASSENDBUFFER) ( | 
      |                             HANDLE hPort, |   |                             HANDLE hPort, | 
       |   |  | 
      | skipping to change at line 1414 |   | skipping to change at line 1519 | 
       |   |  | 
      | typedef DWORD (WINAPI *PFNRASRETRIEVEBUFFER) ( |   | typedef DWORD (WINAPI *PFNRASRETRIEVEBUFFER) ( | 
      |                             HANDLE hPort, |   |                             HANDLE hPort, | 
      |                             PBYTE pBuffer, |   |                             PBYTE pBuffer, | 
      |                             PDWORD pdwSize |   |                             PDWORD pdwSize | 
      |                             ); |   |                             ); | 
       |   |  | 
      | typedef  DWORD (WINAPI *RasCustomScriptExecuteFn) ( |   | typedef  DWORD (WINAPI *RasCustomScriptExecuteFn) ( | 
      |                             HANDLE hPort, |   |                             HANDLE hPort, | 
      |                             LPCWSTR lpszPhonebook, |   |                             LPCWSTR lpszPhonebook, | 
       | 
      |                             LPCWSTR lpszEntryName, |   |                                     LPCWSTR lpszEntryName, | 
      |                             PFNRASGETBUFFER pfnRasGetBuffer, |   |                                     PFNRASGETBUFFER pfnRasGetBuffer, | 
      |                             PFNRASFREEBUFFER pfnRasFreeBuffer, |   |                                     PFNRASFREEBUFFER pfnRasFreeBuffer, | 
      |                             PFNRASSENDBUFFER pfnRasSendBuffer, |   |                                     PFNRASSENDBUFFER pfnRasSendBuffer, | 
      |                             PFNRASRECEIVEBUFFER pfnRasReceiveBuffer, |   |                                     PFNRASRECEIVEBUFFER pfnRasReceiveBuffer, | 
      |                             PFNRASRETRIEVEBUFFER pfnRasRetrieveBuffer, |   |                                     PFNRASRETRIEVEBUFFER pfnRasRetrieveBuffer, | 
      |                             HWND hWnd, |   |                             HWND hWnd, | 
      |                             RASDIALPARAMS *pRasDialParams, |   |                             RASDIALPARAMS *pRasDialParams, | 
      |                             PVOID pvReserved |   |                             PVOID pvReserved | 
      |                             ); |   |                             ); | 
       |   |  | 
      | #endif // (WINVER >= 0x500) |   | #endif // (WINVER >= 0x500) | 
       |   |  | 
      | #if (WINVER >= 0x0501) |   | #if (WINVER >= 0x0501) | 
       |   |  | 
      | #define RASCOMMSETTINGS struct tagRASCOMMSETTINGS |   | #define RASCOMMSETTINGS struct tagRASCOMMSETTINGS | 
      | RASCOMMSETTINGS |   | RASCOMMSETTINGS | 
      | { |   | { | 
      |     DWORD     dwSize; |   |     DWORD     dwSize; | 
      |     BYTE      bParity; |   |     BYTE      bParity; | 
      |     BYTE      bStop; |   |     BYTE      bStop; | 
      |     BYTE      bByteSize; |   |     BYTE      bByteSize; | 
      |     BYTE      bAlign; |   |     BYTE      bAlign; | 
      | }; |   | }; | 
       |   |  | 
      | typedef DWORD (WINAPI *PFNRASSETCOMMSETTINGS) ( |   | typedef DWORD (WINAPI *PFNRASSETCOMMSETTINGS) ( | 
       | 
      |                             HANDLE hPort, |   |                                             HANDLE hPort, | 
      |                             RASCOMMSETTINGS *pRasCommSettings, |   |                                             RASCOMMSETTINGS *pRasCommSettings, | 
      |                             PVOID  pvReserved |   |                             PVOID  pvReserved | 
      |                             ); |   |                             ); | 
       |   |  | 
      | #define RASCUSTOMSCRIPTEXTENSIONS struct tagRASCUSTOMSCRIPTEXTENSIONS |   | #define RASCUSTOMSCRIPTEXTENSIONS struct tagRASCUSTOMSCRIPTEXTENSIONS | 
      | RASCUSTOMSCRIPTEXTENSIONS |   | RASCUSTOMSCRIPTEXTENSIONS | 
      | { |   | { | 
       | 
      |     DWORD                    dwSize; |   |     DWORD                 dwSize; | 
      |     PFNRASSETCOMMSETTINGS    pfnRasSetCommSettings; |   |     PFNRASSETCOMMSETTINGS pfnRasSetCommSettings; | 
      | }; |   | }; | 
       |   |  | 
      | #endif |   | #endif | 
       |   |  | 
      | /* External RAS API function prototypes. |   | /* External RAS API function prototypes. | 
      | */ |   | */ | 
      | DWORD APIENTRY RasDialA( LPRASDIALEXTENSIONS, LPCSTR, LPRASDIALPARAMSA, DWORD, |   | DWORD APIENTRY RasDialA( LPRASDIALEXTENSIONS, LPCSTR, LPRASDIALPARAMSA, DWORD, | 
       | 
      |                    LPVOID, LPHRASCONN ); |   |                          LPVOID, LPHRASCONN ); | 
       |   |  | 
      | DWORD APIENTRY RasDialW( LPRASDIALEXTENSIONS, LPCWSTR, LPRASDIALPARAMSW, DWORD, |   | DWORD APIENTRY RasDialW( LPRASDIALEXTENSIONS, LPCWSTR, LPRASDIALPARAMSW, DWORD, | 
       | 
      |                    LPVOID, LPHRASCONN ); |   |                          LPVOID, LPHRASCONN ); | 
       |   |  | 
      | DWORD APIENTRY RasEnumConnectionsA( LPRASCONNA, LPDWORD, LPDWORD ); |   | DWORD APIENTRY RasEnumConnectionsA( LPRASCONNA, LPDWORD, LPDWORD ); | 
       |   |  | 
      | DWORD APIENTRY RasEnumConnectionsW( LPRASCONNW, LPDWORD, LPDWORD ); |   | DWORD APIENTRY RasEnumConnectionsW( LPRASCONNW, LPDWORD, LPDWORD ); | 
       |   |  | 
      | DWORD APIENTRY RasEnumEntriesA( LPCSTR, LPCSTR, LPRASENTRYNAMEA, LPDWORD, |   | DWORD APIENTRY RasEnumEntriesA( LPCSTR, LPCSTR, LPRASENTRYNAMEA, LPDWORD, | 
       | 
      |                    LPDWORD ); |   |                                 LPDWORD ); | 
       |   |  | 
      | DWORD APIENTRY RasEnumEntriesW( LPCWSTR, LPCWSTR, LPRASENTRYNAMEW, LPDWORD, |   | DWORD APIENTRY RasEnumEntriesW( LPCWSTR, LPCWSTR, LPRASENTRYNAMEW, LPDWORD, | 
       | 
      |                    LPDWORD ); |   |                                 LPDWORD ); | 
       |   |  | 
      | DWORD APIENTRY RasGetConnectStatusA( HRASCONN, LPRASCONNSTATUSA ); |   | DWORD APIENTRY RasGetConnectStatusA( HRASCONN, LPRASCONNSTATUSA ); | 
       |   |  | 
      | DWORD APIENTRY RasGetConnectStatusW( HRASCONN, LPRASCONNSTATUSW ); |   | DWORD APIENTRY RasGetConnectStatusW( HRASCONN, LPRASCONNSTATUSW ); | 
       |   |  | 
       | 
      | DWORD APIENTRY RasGetErrorStringA( UINT, LPSTR, DWORD ); |   | DWORD APIENTRY RasGetErrorStringA( UINT uErrorValue, __inout_bcount(cBufSize) LP
STR lpszErrorString, DWORD  cBufSize); | 
       |   |  | 
       | 
      | DWORD APIENTRY RasGetErrorStringW( UINT, LPWSTR, DWORD ); |   | DWORD APIENTRY RasGetErrorStringW( UINT ResourceId, __out_ecount(InBufSize) LPWS
TR lpszString, DWORD  InBufSize); | 
       |   |  | 
      | DWORD APIENTRY RasHangUpA( HRASCONN ); |   | DWORD APIENTRY RasHangUpA( HRASCONN ); | 
       |   |  | 
      | DWORD APIENTRY RasHangUpW( HRASCONN ); |   | DWORD APIENTRY RasHangUpW( HRASCONN ); | 
       |   |  | 
      | DWORD APIENTRY RasGetProjectionInfoA( HRASCONN, RASPROJECTION, LPVOID, |   | DWORD APIENTRY RasGetProjectionInfoA( HRASCONN, RASPROJECTION, LPVOID, | 
       | 
      |                    LPDWORD ); |   |                                       LPDWORD ); | 
       |   |  | 
      | DWORD APIENTRY RasGetProjectionInfoW( HRASCONN, RASPROJECTION, LPVOID, |   | DWORD APIENTRY RasGetProjectionInfoW( HRASCONN, RASPROJECTION, LPVOID, | 
       | 
      |                    LPDWORD ); |   |                                       LPDWORD ); | 
       |   |  | 
      | DWORD APIENTRY RasCreatePhonebookEntryA( HWND, LPCSTR ); |   | DWORD APIENTRY RasCreatePhonebookEntryA( HWND, LPCSTR ); | 
       |   |  | 
      | DWORD APIENTRY RasCreatePhonebookEntryW( HWND, LPCWSTR ); |   | DWORD APIENTRY RasCreatePhonebookEntryW( HWND, LPCWSTR ); | 
       |   |  | 
      | DWORD APIENTRY RasEditPhonebookEntryA( HWND, LPCSTR, LPCSTR ); |   | DWORD APIENTRY RasEditPhonebookEntryA( HWND, LPCSTR, LPCSTR ); | 
       |   |  | 
      | DWORD APIENTRY RasEditPhonebookEntryW( HWND, LPCWSTR, LPCWSTR ); |   | DWORD APIENTRY RasEditPhonebookEntryW( HWND, LPCWSTR, LPCWSTR ); | 
       |   |  | 
      | DWORD APIENTRY RasSetEntryDialParamsA( LPCSTR, LPRASDIALPARAMSA, BOOL ); |   | DWORD APIENTRY RasSetEntryDialParamsA( LPCSTR, LPRASDIALPARAMSA, BOOL ); | 
       |   |  | 
      | skipping to change at line 1543 |   | skipping to change at line 1648 | 
       |   |  | 
      | DWORD APIENTRY RasConnectionNotificationA( HRASCONN, HANDLE, DWORD ); |   | DWORD APIENTRY RasConnectionNotificationA( HRASCONN, HANDLE, DWORD ); | 
       |   |  | 
      | DWORD APIENTRY RasConnectionNotificationW( HRASCONN, HANDLE, DWORD ); |   | DWORD APIENTRY RasConnectionNotificationW( HRASCONN, HANDLE, DWORD ); | 
       |   |  | 
      | #if (WINVER >= 0x401) |   | #if (WINVER >= 0x401) | 
      | DWORD APIENTRY RasGetSubEntryHandleA( HRASCONN, DWORD, LPHRASCONN ); |   | DWORD APIENTRY RasGetSubEntryHandleA( HRASCONN, DWORD, LPHRASCONN ); | 
       |   |  | 
      | DWORD APIENTRY RasGetSubEntryHandleW( HRASCONN, DWORD, LPHRASCONN ); |   | DWORD APIENTRY RasGetSubEntryHandleW( HRASCONN, DWORD, LPHRASCONN ); | 
       |   |  | 
       | 
      | DWORD APIENTRY RasGetCredentialsA( LPCSTR, LPCSTR, LPRASCREDENTIALSA); |   | DWORD APIENTRY RasGetCredentialsA( LPCSTR, LPCSTR, LPRASCREDENTIALSA ); | 
       |   |  | 
      | DWORD APIENTRY RasGetCredentialsW( LPCWSTR, LPCWSTR, LPRASCREDENTIALSW ); |   | DWORD APIENTRY RasGetCredentialsW( LPCWSTR, LPCWSTR, LPRASCREDENTIALSW ); | 
       |   |  | 
      | DWORD APIENTRY RasSetCredentialsA( LPCSTR, LPCSTR, LPRASCREDENTIALSA, BOOL ); |   | DWORD APIENTRY RasSetCredentialsA( LPCSTR, LPCSTR, LPRASCREDENTIALSA, BOOL ); | 
       |   |  | 
      | DWORD APIENTRY RasSetCredentialsW( LPCWSTR, LPCWSTR, LPRASCREDENTIALSW, BOOL ); |   | DWORD APIENTRY RasSetCredentialsW( LPCWSTR, LPCWSTR, LPRASCREDENTIALSW, BOOL ); | 
       |   |  | 
      | DWORD APIENTRY RasGetSubEntryPropertiesA( LPCSTR, LPCSTR, DWORD, |   | DWORD APIENTRY RasGetSubEntryPropertiesA( LPCSTR, LPCSTR, DWORD, | 
      |                     LPRASSUBENTRYA, LPDWORD, LPBYTE, LPDWORD ); |   |                     LPRASSUBENTRYA, LPDWORD, LPBYTE, LPDWORD ); | 
       |   |  | 
      | DWORD APIENTRY RasGetSubEntryPropertiesW( LPCWSTR, LPCWSTR, DWORD, |   | DWORD APIENTRY RasGetSubEntryPropertiesW( LPCWSTR, LPCWSTR, DWORD, | 
      |                     LPRASSUBENTRYW, LPDWORD, LPBYTE, LPDWORD ); |   |                     LPRASSUBENTRYW, LPDWORD, LPBYTE, LPDWORD ); | 
       |   |  | 
      | DWORD APIENTRY RasSetSubEntryPropertiesA( LPCSTR, LPCSTR, DWORD, |   | DWORD APIENTRY RasSetSubEntryPropertiesA( LPCSTR, LPCSTR, DWORD, | 
      |                     LPRASSUBENTRYA, DWORD, LPBYTE, DWORD ); |   |                     LPRASSUBENTRYA, DWORD, LPBYTE, DWORD ); | 
       |   |  | 
      | DWORD APIENTRY RasSetSubEntryPropertiesW( LPCWSTR, LPCWSTR, DWORD, |   | DWORD APIENTRY RasSetSubEntryPropertiesW( LPCWSTR, LPCWSTR, DWORD, | 
      |                     LPRASSUBENTRYW, DWORD, LPBYTE, DWORD ); |   |                     LPRASSUBENTRYW, DWORD, LPBYTE, DWORD ); | 
       |   |  | 
      | DWORD APIENTRY RasGetAutodialAddressA( LPCSTR, LPDWORD, LPRASAUTODIALENTRYA, |   | DWORD APIENTRY RasGetAutodialAddressA( LPCSTR, LPDWORD, LPRASAUTODIALENTRYA, | 
       | 
      |                     LPDWORD, LPDWORD ); |   |                                        LPDWORD, LPDWORD ); | 
       |   |  | 
      | DWORD APIENTRY RasGetAutodialAddressW( LPCWSTR, LPDWORD, LPRASAUTODIALENTRYW, |   | DWORD APIENTRY RasGetAutodialAddressW( LPCWSTR, LPDWORD, LPRASAUTODIALENTRYW, | 
       | 
      |                     LPDWORD, LPDWORD); |   |                                        LPDWORD, LPDWORD ); | 
       |   |  | 
      | DWORD APIENTRY RasSetAutodialAddressA( LPCSTR, DWORD, LPRASAUTODIALENTRYA, |   | DWORD APIENTRY RasSetAutodialAddressA( LPCSTR, DWORD, LPRASAUTODIALENTRYA, | 
       | 
      |                     DWORD, DWORD ); |   |                                        DWORD, DWORD ); | 
       |   |  | 
      | DWORD APIENTRY RasSetAutodialAddressW( LPCWSTR, DWORD, LPRASAUTODIALENTRYW, |   | DWORD APIENTRY RasSetAutodialAddressW( LPCWSTR, DWORD, LPRASAUTODIALENTRYW, | 
       | 
      |                     DWORD, DWORD ); |   |                                        DWORD, DWORD ); | 
       |   |  | 
       | 
      | DWORD APIENTRY RasEnumAutodialAddressesA( LPSTR *, LPDWORD, LPDWORD ); |   | DWORD APIENTRY RasEnumAutodialAddressesA( | 
       |   |     __inout_bcount_opt(*lpdwcbRasAutodialAddresses) LPSTR *lppRasAutodialAddress | 
       |   | es, | 
       |   |     __inout  LPDWORD lpdwcbRasAutodialAddresses, | 
       |   |     __out    LPDWORD lpdwcRasAutodialAddresses); | 
       |   |  | 
       | 
      | DWORD APIENTRY RasEnumAutodialAddressesW( LPWSTR *, LPDWORD, LPDWORD ); |   | DWORD APIENTRY RasEnumAutodialAddressesW( | 
       |   |     __inout_bcount_opt(*lpdwcbRasAutodialAddresses) LPWSTR *lppRasAutodialAddres | 
       |   | ses, | 
       |   |     __inout  LPDWORD lpdwcbRasAutodialAddresses, | 
       |   |     __out    LPDWORD lpdwcRasAutodialAddresses); | 
       |   |  | 
      | DWORD APIENTRY RasGetAutodialEnableA( DWORD, LPBOOL ); |   | DWORD APIENTRY RasGetAutodialEnableA( DWORD, LPBOOL ); | 
       |   |  | 
      | DWORD APIENTRY RasGetAutodialEnableW( DWORD, LPBOOL ); |   | DWORD APIENTRY RasGetAutodialEnableW( DWORD, LPBOOL ); | 
       |   |  | 
      | DWORD APIENTRY RasSetAutodialEnableA( DWORD, BOOL ); |   | DWORD APIENTRY RasSetAutodialEnableA( DWORD, BOOL ); | 
       |   |  | 
      | DWORD APIENTRY RasSetAutodialEnableW( DWORD, BOOL ); |   | DWORD APIENTRY RasSetAutodialEnableW( DWORD, BOOL ); | 
       |   |  | 
      | DWORD APIENTRY RasGetAutodialParamA( DWORD, LPVOID, LPDWORD ); |   | DWORD APIENTRY RasGetAutodialParamA( DWORD, LPVOID, LPDWORD ); | 
       |   |  | 
      | skipping to change at line 1623 |   | skipping to change at line 1734 | 
      |     DWORD   dwBps; |   |     DWORD   dwBps; | 
      |     DWORD   dwConnectDuration; |   |     DWORD   dwConnectDuration; | 
       |   |  | 
      | } RAS_STATS, *PRAS_STATS; |   | } RAS_STATS, *PRAS_STATS; | 
       |   |  | 
      | typedef DWORD (WINAPI *RasCustomHangUpFn) ( |   | typedef DWORD (WINAPI *RasCustomHangUpFn) ( | 
      |                             HRASCONN hRasConn |   |                             HRASCONN hRasConn | 
      |                             ); |   |                             ); | 
       |   |  | 
      | typedef DWORD (WINAPI *RasCustomDialFn) ( |   | typedef DWORD (WINAPI *RasCustomDialFn) ( | 
       | 
      |                HINSTANCE           hInstDll, |   |                                       HINSTANCE hInstDll, | 
      |                LPRASDIALEXTENSIONS lpRasDialExtensions, |   |                                       LPRASDIALEXTENSIONS lpRasDialExtensions, | 
      |                LPCWSTR              lpszPhonebook, |   |                                       LPCWSTR lpszPhonebook, | 
      |                LPRASDIALPARAMS     lpRasDialParams, |   |                                       LPRASDIALPARAMS lpRasDialParams, | 
      |                DWORD               dwNotifierType, |   |                DWORD               dwNotifierType, | 
      |                LPVOID              lpvNotifier, |   |                LPVOID              lpvNotifier, | 
      |                LPHRASCONN          lphRasConn, |   |                LPHRASCONN          lphRasConn, | 
      |                DWORD               dwFlags |   |                DWORD               dwFlags | 
      |         ); |   |         ); | 
       |   |  | 
      | typedef DWORD (WINAPI *RasCustomDeleteEntryNotifyFn) ( |   | typedef DWORD (WINAPI *RasCustomDeleteEntryNotifyFn) ( | 
      |         LPCWSTR             lpszPhonebook, |   |         LPCWSTR             lpszPhonebook, | 
       | 
      |         LPCWSTR             lpszEntry, |   |                                                        LPCWSTR lpszEntry, | 
      |         DWORD               dwFlags); |   |                                                        DWORD dwFlags ); | 
       |   |  | 
      | #define RCD_SingleUser  0 |   | #define RCD_SingleUser  0 | 
      | #define RCD_AllUsers    0x00000001 |   | #define RCD_AllUsers    0x00000001 | 
      | #define RCD_Eap         0x00000002 |   | #define RCD_Eap         0x00000002 | 
      | #define RCD_Logon       0x00000004 |   | #define RCD_Logon       0x00000004 | 
       |   |  | 
      | DWORD APIENTRY RasInvokeEapUI( HRASCONN, DWORD, LPRASDIALEXTENSIONS, HWND); |   | DWORD APIENTRY RasInvokeEapUI( HRASCONN, DWORD, LPRASDIALEXTENSIONS, HWND); | 
       |   |  | 
      | DWORD APIENTRY RasGetLinkStatistics(HRASCONN hRasConn, |   | DWORD APIENTRY RasGetLinkStatistics(HRASCONN hRasConn, | 
      |                                     DWORD dwSubEntry, |   |                                     DWORD dwSubEntry, | 
       | 
      |                                     RAS_STATS *lpStatistics); |   |                                      RAS_STATS *lpStatistics ); | 
       |   |  | 
       | 
      | DWORD APIENTRY RasGetConnectionStatistics(HRASCONN hRasConn, |   | DWORD APIENTRY RasGetConnectionStatistics( HRASCONN hRasConn, | 
      |                                           RAS_STATS *lpStatistics); |   |                                            RAS_STATS *lpStatistics ); | 
       |   |  | 
      | DWORD APIENTRY RasClearLinkStatistics(HRASCONN hRasConn, |   | DWORD APIENTRY RasClearLinkStatistics(HRASCONN hRasConn, | 
      |                                       DWORD dwSubEntry); |   |                                       DWORD dwSubEntry); | 
       |   |  | 
       | 
      | DWORD APIENTRY RasClearConnectionStatistics(HRASCONN hRasConn); |   | DWORD APIENTRY RasClearConnectionStatistics( HRASCONN hRasConn ); | 
       |   |  | 
      | DWORD APIENTRY RasGetEapUserDataA( |   | DWORD APIENTRY RasGetEapUserDataA( | 
      |                    HANDLE hToken, |   |                    HANDLE hToken, | 
      |                    LPCSTR pszPhonebook, |   |                    LPCSTR pszPhonebook, | 
      |                    LPCSTR pszEntry, |   |                    LPCSTR pszEntry, | 
      |                    BYTE   *pbEapData, |   |                    BYTE   *pbEapData, | 
       | 
      |                    DWORD  *pdwSizeofEapData); |   |                                    DWORD *pdwSizeofEapData ); | 
       |   |  | 
      | DWORD APIENTRY RasGetEapUserDataW( |   | DWORD APIENTRY RasGetEapUserDataW( | 
      |                    HANDLE  hToken, |   |                    HANDLE  hToken, | 
      |                    LPCWSTR pszPhonebook, |   |                    LPCWSTR pszPhonebook, | 
      |                    LPCWSTR pszEntry, |   |                    LPCWSTR pszEntry, | 
      |                    BYTE    *pbEapData, |   |                    BYTE    *pbEapData, | 
       | 
      |                    DWORD   *pdwSizeofEapData); |   |                                    DWORD *pdwSizeofEapData ); | 
       |   |  | 
      | DWORD APIENTRY RasSetEapUserDataA( |   | DWORD APIENTRY RasSetEapUserDataA( | 
      |                    HANDLE hToken, |   |                    HANDLE hToken, | 
      |                    LPCSTR pszPhonebook, |   |                    LPCSTR pszPhonebook, | 
      |                    LPCSTR pszEntry, |   |                    LPCSTR pszEntry, | 
      |                    BYTE   *pbEapData, |   |                    BYTE   *pbEapData, | 
       | 
      |                    DWORD  dwSizeofEapData); |   |                                    DWORD dwSizeofEapData ); | 
       |   |  | 
      | DWORD APIENTRY RasSetEapUserDataW( |   | DWORD APIENTRY RasSetEapUserDataW( | 
      |                    HANDLE  hToken, |   |                    HANDLE  hToken, | 
      |                    LPCWSTR pszPhonebook, |   |                    LPCWSTR pszPhonebook, | 
      |                    LPCWSTR pszEntry, |   |                    LPCWSTR pszEntry, | 
      |                    BYTE    *pbEapData, |   |                    BYTE    *pbEapData, | 
       | 
      |                    DWORD   dwSizeofEapData); |   |                                    DWORD dwSizeofEapData ); | 
       |   |  | 
      | DWORD APIENTRY RasGetCustomAuthDataA( |   | DWORD APIENTRY RasGetCustomAuthDataA( | 
      |                    LPCSTR pszPhonebook, |   |                    LPCSTR pszPhonebook, | 
      |                    LPCSTR pszEntry, |   |                    LPCSTR pszEntry, | 
       | 
      |                    BYTE   *pbCustomAuthData, |   |                                       BYTE *pbCustomAuthData, | 
      |                    DWORD  *pdwSizeofCustomAuthData); |   |                                       DWORD *pdwSizeofCustomAuthData ); | 
       |   |  | 
      | DWORD APIENTRY RasGetCustomAuthDataW( |   | DWORD APIENTRY RasGetCustomAuthDataW( | 
      |                    LPCWSTR pszPhonebook, |   |                    LPCWSTR pszPhonebook, | 
      |                    LPCWSTR pszEntry, |   |                    LPCWSTR pszEntry, | 
       | 
      |                    BYTE    *pbCustomAuthData, |   |                                       BYTE *pbCustomAuthData, | 
      |                    DWORD   *pdwSizeofCustomAuthData); |   |                                       DWORD *pdwSizeofCustomAuthData ); | 
       |   |  | 
      | DWORD APIENTRY RasSetCustomAuthDataA( |   | DWORD APIENTRY RasSetCustomAuthDataA( | 
      |                    LPCSTR pszPhonebook, |   |                    LPCSTR pszPhonebook, | 
      |                    LPCSTR pszEntry, |   |                    LPCSTR pszEntry, | 
       | 
      |                    BYTE   *pbCustomAuthData, |   |                                       BYTE *pbCustomAuthData, | 
      |                    DWORD  dwSizeofCustomAuthData |   |                    DWORD  dwSizeofCustomAuthData | 
      |                    ); |   |                    ); | 
       |   |  | 
      | DWORD APIENTRY RasSetCustomAuthDataW( |   | DWORD APIENTRY RasSetCustomAuthDataW( | 
      |                    LPCWSTR pszPhonebook, |   |                    LPCWSTR pszPhonebook, | 
      |                    LPCWSTR pszEntry, |   |                    LPCWSTR pszEntry, | 
       | 
      |                    BYTE    *pbCustomAuthData, |   |                                       BYTE *pbCustomAuthData, | 
      |                    DWORD   dwSizeofCustomAuthData |   |                    DWORD   dwSizeofCustomAuthData | 
      |                    ); |   |                    ); | 
      | DWORD APIENTRY RasGetEapUserIdentityW( |   | DWORD APIENTRY RasGetEapUserIdentityW( | 
      |                    LPCWSTR                  pszPhonebook, |   |                    LPCWSTR                  pszPhonebook, | 
      |                    LPCWSTR                  pszEntry, |   |                    LPCWSTR                  pszEntry, | 
      |                    DWORD                    dwFlags, |   |                    DWORD                    dwFlags, | 
      |                    HWND                     hwnd, |   |                    HWND                     hwnd, | 
      |                    LPRASEAPUSERIDENTITYW*   ppRasEapUserIdentity |   |                    LPRASEAPUSERIDENTITYW*   ppRasEapUserIdentity | 
      | ); |   | ); | 
      | DWORD APIENTRY RasGetEapUserIdentityA( |   | DWORD APIENTRY RasGetEapUserIdentityA( | 
       |   |  | 
      | skipping to change at line 1737 |   | skipping to change at line 1848 | 
      | VOID APIENTRY RasFreeEapUserIdentityA( |   | VOID APIENTRY RasFreeEapUserIdentityA( | 
      |                    LPRASEAPUSERIDENTITYA    pRasEapUserIdentity |   |                    LPRASEAPUSERIDENTITYA    pRasEapUserIdentity | 
      | ); |   | ); | 
      | #endif |   | #endif | 
       |   |  | 
      | #if (WINVER >= 0x501) |   | #if (WINVER >= 0x501) | 
       |   |  | 
      | DWORD APIENTRY  RasDeleteSubEntryA( |   | DWORD APIENTRY  RasDeleteSubEntryA( | 
      |                 LPCSTR pszPhonebook, |   |                 LPCSTR pszPhonebook, | 
      |                 LPCSTR pszEntry, |   |                 LPCSTR pszEntry, | 
       | 
      |                 DWORD  dwSubentryId); |   |                                    DWORD  dwSubentryId ); | 
       |   |  | 
      | DWORD APIENTRY  RasDeleteSubEntryW( |   | DWORD APIENTRY  RasDeleteSubEntryW( | 
      |                 LPCWSTR pszPhonebook, |   |                 LPCWSTR pszPhonebook, | 
      |                 LPCWSTR pszEntry, |   |                 LPCWSTR pszEntry, | 
       | 
      |                 DWORD   dwSubEntryId); |   |                 DWORD   dwSubEntryId ); | 
       |   |  | 
       |   | // To use Quarantine APIs, applications should explicitly | 
       |   | // define USES_RAS_QUARANTINE_APIS. | 
       |   |  | 
       |   | #ifdef USES_RAS_QUARANTINE_APIS | 
       |   |  | 
       |   | DWORD APIENTRY | 
       |   | RasGetNapStatus( | 
       |   |         HRASCONN hRasconn, | 
       |   |         LPRASNAPSTATE pRasNapState); | 
       |   |  | 
       |   | #endif //USES_RAS_QUARANTINE_APIS | 
       |   |                                                                                  | 
      | #endif |   | #endif | 
       |   |  | 
      | #ifdef UNICODE |   | #ifdef UNICODE | 
       | 
      | #define RasDial                 RasDialW |   | #define RasDial                     RasDialW | 
      | #define RasEnumConnections      RasEnumConnectionsW |   | #define RasEnumConnections          RasEnumConnectionsW | 
      | #define RasEnumEntries          RasEnumEntriesW |   | #define RasEnumEntries              RasEnumEntriesW | 
      | #define RasGetConnectStatus     RasGetConnectStatusW |   | #define RasGetConnectStatus         RasGetConnectStatusW | 
      | #define RasGetErrorString       RasGetErrorStringW |   | #define RasGetErrorString           RasGetErrorStringW | 
      | #define RasHangUp               RasHangUpW |   | #define RasHangUp                   RasHangUpW | 
      | #define RasGetProjectionInfo    RasGetProjectionInfoW |   | #define RasGetProjectionInfo        RasGetProjectionInfoW | 
      | #define RasCreatePhonebookEntry RasCreatePhonebookEntryW |   | #define RasCreatePhonebookEntry RasCreatePhonebookEntryW | 
      | #define RasEditPhonebookEntry   RasEditPhonebookEntryW |   | #define RasEditPhonebookEntry   RasEditPhonebookEntryW | 
       | 
      | #define RasSetEntryDialParams   RasSetEntryDialParamsW |   | #define RasSetEntryDialParams       RasSetEntryDialParamsW | 
      | #define RasGetEntryDialParams   RasGetEntryDialParamsW |   | #define RasGetEntryDialParams       RasGetEntryDialParamsW | 
      | #define RasEnumDevices          RasEnumDevicesW |   | #define RasEnumDevices              RasEnumDevicesW | 
      | #define RasGetCountryInfo       RasGetCountryInfoW |   | #define RasGetCountryInfo           RasGetCountryInfoW | 
      | #define RasGetEntryProperties   RasGetEntryPropertiesW |   | #define RasGetEntryProperties       RasGetEntryPropertiesW | 
      | #define RasSetEntryProperties   RasSetEntryPropertiesW |   | #define RasSetEntryProperties       RasSetEntryPropertiesW | 
      | #define RasRenameEntry          RasRenameEntryW |   | #define RasRenameEntry              RasRenameEntryW | 
      | #define RasDeleteEntry          RasDeleteEntryW |   | #define RasDeleteEntry              RasDeleteEntryW | 
      | #define RasValidateEntryName    RasValidateEntryNameW |   | #define RasValidateEntryName        RasValidateEntryNameW | 
      | #if (WINVER >= 0x401) |   | #if (WINVER >= 0x401) | 
      | #define RasGetSubEntryHandle        RasGetSubEntryHandleW |   | #define RasGetSubEntryHandle        RasGetSubEntryHandleW | 
      | #define RasConnectionNotification   RasConnectionNotificationW |   | #define RasConnectionNotification   RasConnectionNotificationW | 
      | #define RasGetSubEntryProperties    RasGetSubEntryPropertiesW |   | #define RasGetSubEntryProperties    RasGetSubEntryPropertiesW | 
      | #define RasSetSubEntryProperties    RasSetSubEntryPropertiesW |   | #define RasSetSubEntryProperties    RasSetSubEntryPropertiesW | 
      | #define RasGetCredentials           RasGetCredentialsW |   | #define RasGetCredentials           RasGetCredentialsW | 
      | #define RasSetCredentials           RasSetCredentialsW |   | #define RasSetCredentials           RasSetCredentialsW | 
      | #define RasGetAutodialAddress       RasGetAutodialAddressW |   | #define RasGetAutodialAddress       RasGetAutodialAddressW | 
      | #define RasSetAutodialAddress       RasSetAutodialAddressW |   | #define RasSetAutodialAddress       RasSetAutodialAddressW | 
      | #define RasEnumAutodialAddresses    RasEnumAutodialAddressesW |   | #define RasEnumAutodialAddresses    RasEnumAutodialAddressesW | 
       |   |  | 
      | skipping to change at line 1787 |   | skipping to change at line 1911 | 
      | #define RasSetAutodialParam         RasSetAutodialParamW |   | #define RasSetAutodialParam         RasSetAutodialParamW | 
      | #endif |   | #endif | 
      | #if (WINVER >= 0x500) |   | #if (WINVER >= 0x500) | 
      | #define RasGetEapUserData           RasGetEapUserDataW |   | #define RasGetEapUserData           RasGetEapUserDataW | 
      | #define RasSetEapUserData           RasSetEapUserDataW |   | #define RasSetEapUserData           RasSetEapUserDataW | 
      | #define RasGetCustomAuthData        RasGetCustomAuthDataW |   | #define RasGetCustomAuthData        RasGetCustomAuthDataW | 
      | #define RasSetCustomAuthData        RasSetCustomAuthDataW |   | #define RasSetCustomAuthData        RasSetCustomAuthDataW | 
      | #define RasGetEapUserIdentity       RasGetEapUserIdentityW |   | #define RasGetEapUserIdentity       RasGetEapUserIdentityW | 
      | #define RasFreeEapUserIdentity      RasFreeEapUserIdentityW |   | #define RasFreeEapUserIdentity      RasFreeEapUserIdentityW | 
      | #endif |   | #endif | 
       | 
      | #if(WINVER >= 0x501) |   | #if (WINVER >= 0x501) | 
      | #define RasDeleteSubEntry           RasDeleteSubEntryW |   | #define RasDeleteSubEntry           RasDeleteSubEntryW | 
      | #endif |   | #endif | 
      | #else |   | #else | 
       | 
      | #define RasDial                 RasDialA |   | #define RasDial                     RasDialA | 
      | #define RasEnumConnections      RasEnumConnectionsA |   | #define RasEnumConnections          RasEnumConnectionsA | 
      | #define RasEnumEntries          RasEnumEntriesA |   | #define RasEnumEntries              RasEnumEntriesA | 
      | #define RasGetConnectStatus     RasGetConnectStatusA |   | #define RasGetConnectStatus         RasGetConnectStatusA | 
      | #define RasGetErrorString       RasGetErrorStringA |   | #define RasGetErrorString           RasGetErrorStringA | 
      | #define RasHangUp               RasHangUpA |   | #define RasHangUp                   RasHangUpA | 
      | #define RasGetProjectionInfo    RasGetProjectionInfoA |   | #define RasGetProjectionInfo        RasGetProjectionInfoA | 
      | #define RasCreatePhonebookEntry RasCreatePhonebookEntryA |   | #define RasCreatePhonebookEntry RasCreatePhonebookEntryA | 
      | #define RasEditPhonebookEntry   RasEditPhonebookEntryA |   | #define RasEditPhonebookEntry   RasEditPhonebookEntryA | 
       | 
      | #define RasSetEntryDialParams   RasSetEntryDialParamsA |   | #define RasSetEntryDialParams       RasSetEntryDialParamsA | 
      | #define RasGetEntryDialParams   RasGetEntryDialParamsA |   | #define RasGetEntryDialParams       RasGetEntryDialParamsA | 
      | #define RasEnumDevices          RasEnumDevicesA |   | #define RasEnumDevices              RasEnumDevicesA | 
      | #define RasGetCountryInfo       RasGetCountryInfoA |   | #define RasGetCountryInfo           RasGetCountryInfoA | 
      | #define RasGetEntryProperties   RasGetEntryPropertiesA |   | #define RasGetEntryProperties       RasGetEntryPropertiesA | 
      | #define RasSetEntryProperties   RasSetEntryPropertiesA |   | #define RasSetEntryProperties       RasSetEntryPropertiesA | 
      | #define RasRenameEntry          RasRenameEntryA |   | #define RasRenameEntry              RasRenameEntryA | 
      | #define RasDeleteEntry          RasDeleteEntryA |   | #define RasDeleteEntry              RasDeleteEntryA | 
      | #define RasValidateEntryName    RasValidateEntryNameA |   | #define RasValidateEntryName        RasValidateEntryNameA | 
      | #if (WINVER >= 0x401) |   | #if (WINVER >= 0x401) | 
      | #define RasGetSubEntryHandle        RasGetSubEntryHandleA |   | #define RasGetSubEntryHandle        RasGetSubEntryHandleA | 
      | #define RasConnectionNotification   RasConnectionNotificationA |   | #define RasConnectionNotification   RasConnectionNotificationA | 
      | #define RasGetSubEntryProperties    RasGetSubEntryPropertiesA |   | #define RasGetSubEntryProperties    RasGetSubEntryPropertiesA | 
      | #define RasSetSubEntryProperties    RasSetSubEntryPropertiesA |   | #define RasSetSubEntryProperties    RasSetSubEntryPropertiesA | 
      | #define RasGetCredentials           RasGetCredentialsA |   | #define RasGetCredentials           RasGetCredentialsA | 
      | #define RasSetCredentials           RasSetCredentialsA |   | #define RasSetCredentials           RasSetCredentialsA | 
      | #define RasGetAutodialAddress       RasGetAutodialAddressA |   | #define RasGetAutodialAddress       RasGetAutodialAddressA | 
      | #define RasSetAutodialAddress       RasSetAutodialAddressA |   | #define RasSetAutodialAddress       RasSetAutodialAddressA | 
      | #define RasEnumAutodialAddresses    RasEnumAutodialAddressesA |   | #define RasEnumAutodialAddresses    RasEnumAutodialAddressesA | 
      |   |  | 
     |  End of changes. 82 change blocks.  | 
     | 137 lines changed or deleted |   | 265 lines changed or added | 
      |