Headers diff for rasapi32.dll between 6.0.6002.18005-Windows 6.0 and 6.1.7600.16385-Windows 7.0 versions



 ras.h (6.0.6002.18005-Windows 6.0)   ras.h (6.1.7600.16385-Windows 7.0) 
skipping to change at line 32 skipping to change at line 32
#define _RAS_H_ #define _RAS_H_
#if _MSC_VER > 1000 #if _MSC_VER > 1000
#pragma once #pragma once
#endif #endif
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#pragma warning(push)
#pragma warning(disable:4201)//nameless struct/union
#ifndef UNLEN #ifndef UNLEN
#include <lmcons.h> #include <lmcons.h>
#endif #endif
// To use Quarantine APIs, applications should explicitly // To use Quarantine APIs, applications should explicitly
// define USES_RAS_QUARANTINE_APIS. // define USES_RAS_QUARANTINE_APIS.
#ifdef USES_RAS_QUARANTINE_APIS #ifdef USES_RAS_QUARANTINE_APIS
#include <naptypes.h> #include <naptypes.h>
#define RASNAP_ProbationTime 0x00000001 #define RASNAP_ProbationTime 0x00000001
skipping to change at line 53 skipping to change at line 56
typedef struct _tagRasNapState typedef struct _tagRasNapState
{ {
DWORD dwSize; DWORD dwSize;
DWORD dwFlags; DWORD dwFlags;
IsolationState isolationState; IsolationState isolationState;
ProbationTime probationTime; ProbationTime probationTime;
} RASNAPSTATE, *LPRASNAPSTATE; } RASNAPSTATE, *LPRASNAPSTATE;
#endif // USES_RAS_QUARANTINE_APIS #endif // USES_RAS_QUARANTINE_APIS
#include <pshpack4.h> #include <pshpack4.h>
#include <inaddr.h>
#include <in6addr.h> #include <in6addr.h>
/* RAS API Version
*/
#define RASAPIVERSION enum RASAPIVERSION
RASAPIVERSION
{
RASAPIVERSION_500 = 1,
RASAPIVERSION_501,
RASAPIVERSION_600,
RASAPIVERSION_601,
};
#define RASAPIVERSION_CURRENT RASAPIVERSION_601
/* A RAS IP address.
*/
#define RASIPADDR struct RASIPADDR
RASIPADDR
{
BYTE a;
BYTE b;
BYTE c;
BYTE d;
};
#if (WINVER >= 0x600)
/* A RAS IPv4 address.
*/
typedef struct in_addr RASIPV4ADDR;
/* A RAS IPv6 address.
*/
typedef struct in6_addr RASIPV6ADDR;
#endif
#if (WINVER >= 0x601)
#define RASTUNNELENDPOINT_UNKNOWN 0
#define RASTUNNELENDPOINT_IPv4 1
#define RASTUNNELENDPOINT_IPv6 2
/* RAS Tunnel endpoint address
*/
#define RASTUNNELENDPOINT struct tagRASTUNNELENDPOINT
RASTUNNELENDPOINT
{
DWORD dwType;
union {
RASIPV4ADDR ipv4;
RASIPV6ADDR ipv6;
};
};
#endif
#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
#else #else
skipping to change at line 82 skipping to change at line 141
#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_OwnerKnown 0x00000004
#define RASCF_OwnerMatch 0x00000008 #define RASCF_OwnerMatch 0x00000008
#define RASCF_IsOwner(rascFlags) (((rascFlags) & (RASCF_OwnerKnown | RASCF_Ow nerMatch)) == (RASCF_OwnerKnown | RASCF_OwnerMatch)) #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)) #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)
*/ */
skipping to change at line 159 skipping to change at line 218
#else #else
#define RASCONN RASCONNA #define RASCONN RASCONNA
#endif #endif
#define LPRASCONNW RASCONNW* #define LPRASCONNW RASCONNW*
#define LPRASCONNA RASCONNA* #define LPRASCONNA RASCONNA*
#define LPRASCONN RASCONN* #define LPRASCONN RASCONN*
/* Enumerates intermediate states to a connection. (See RasDial) /* Enumerates intermediate states to a connection. (See RasDial)
*/ */
#define RASCS_PAUSED 0x1000 #define RASCS_PAUSED 0x1000
#define RASCS_DONE 0x2000 #define RASCS_DONE 0x2000
#define RASCONNSTATE enum tagRASCONNSTATE #define RASCONNSTATE enum tagRASCONNSTATE
RASCONNSTATE RASCONNSTATE
{ {
RASCS_OpenPort = 0, RASCS_OpenPort = 0,
RASCS_PortOpened, RASCS_PortOpened,
RASCS_ConnectDevice, RASCS_ConnectDevice,
RASCS_DeviceConnected, RASCS_DeviceConnected,
RASCS_AllDevicesConnected, RASCS_AllDevicesConnected,
RASCS_Authenticate, RASCS_Authenticate,
skipping to change at line 184 skipping to change at line 243
RASCS_AuthChangePassword, RASCS_AuthChangePassword,
RASCS_AuthProject, RASCS_AuthProject,
RASCS_AuthLinkSpeed, RASCS_AuthLinkSpeed,
RASCS_AuthAck, RASCS_AuthAck,
RASCS_ReAuthenticate, RASCS_ReAuthenticate,
RASCS_Authenticated, RASCS_Authenticated,
RASCS_PrepareForCallback, RASCS_PrepareForCallback,
RASCS_WaitForModemReset, RASCS_WaitForModemReset,
RASCS_WaitForCallback, RASCS_WaitForCallback,
RASCS_Projected, RASCS_Projected,
#if (WINVER >= 0x400) #if (WINVER >= 0x400)
RASCS_StartAuthentication, RASCS_StartAuthentication,
RASCS_CallbackComplete, RASCS_CallbackComplete,
RASCS_LogonNetwork, RASCS_LogonNetwork,
#endif #endif
RASCS_SubEntryConnected, RASCS_SubEntryConnected,
RASCS_SubEntryDisconnected, RASCS_SubEntryDisconnected,
#if (WINVER >= 0x601)
RASCS_ApplySettings,
#endif
RASCS_Interactive = RASCS_PAUSED, RASCS_Interactive = RASCS_PAUSED,
RASCS_RetryAuthentication, RASCS_RetryAuthentication,
RASCS_CallbackSetByCaller, RASCS_CallbackSetByCaller,
RASCS_PasswordExpired, RASCS_PasswordExpired,
#if (WINVER >= 0x500) #if (WINVER >= 0x500)
RASCS_InvokeEapUI, RASCS_InvokeEapUI,
#endif #endif
RASCS_Connected = RASCS_DONE, RASCS_Connected = RASCS_DONE,
RASCS_Disconnected RASCS_Disconnected
}; };
#define LPRASCONNSTATE RASCONNSTATE* #define LPRASCONNSTATE RASCONNSTATE*
/* Describes the status of a RAS connection. (See RasConnectionStatus) #if (WINVER >= 0x601)
#define RASCSS_DONE 0x2000
#define RASCONNSUBSTATE enum tagRASCONNSUBSTATE
RASCONNSUBSTATE
{
RASCSS_None = 0,
RASCSS_Dormant,
RASCSS_Reconnecting,
RASCSS_Reconnected = RASCSS_DONE,
};
#define LPRASCONNSUBSTATE RASCONNSUBSTATE*
#endif
/* Describes the status of a RAS connection. (See RasGetConnectStatus)
*/ */
#define RASCONNSTATUSW struct tagRASCONNSTATUSW #define RASCONNSTATUSW struct tagRASCONNSTATUSW
RASCONNSTATUSW RASCONNSTATUSW
{ {
DWORD dwSize; DWORD dwSize;
RASCONNSTATE rasconnstate; RASCONNSTATE rasconnstate;
DWORD dwError; DWORD dwError;
WCHAR szDeviceType[ RAS_MaxDeviceType + 1 ]; WCHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
WCHAR szDeviceName[ RAS_MaxDeviceName + 1 ]; WCHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
#if (WINVER >= 0x401) #if (WINVER >= 0x401)
WCHAR szPhoneNumber[ RAS_MaxPhoneNumber + 1 ]; WCHAR szPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
#endif #endif
#if (WINVER >= 0x601)
RASTUNNELENDPOINT localEndPoint;
RASTUNNELENDPOINT remoteEndPoint;
RASCONNSUBSTATE rasconnsubstate;
#endif
}; };
#define RASCONNSTATUSA struct tagRASCONNSTATUSA #define RASCONNSTATUSA struct tagRASCONNSTATUSA
RASCONNSTATUSA RASCONNSTATUSA
{ {
DWORD dwSize; DWORD dwSize;
RASCONNSTATE rasconnstate; RASCONNSTATE rasconnstate;
DWORD dwError; DWORD dwError;
CHAR szDeviceType[ RAS_MaxDeviceType + 1 ]; CHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
CHAR szDeviceName[ RAS_MaxDeviceName + 1 ]; CHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
#if (WINVER >= 0x401) #if (WINVER >= 0x401)
CHAR szPhoneNumber[ RAS_MaxPhoneNumber + 1 ]; CHAR szPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
#endif #endif
#if (WINVER >= 0x601)
RASTUNNELENDPOINT localEndPoint;
RASTUNNELENDPOINT remoteEndPoint;
RASCONNSUBSTATE rasconnsubstate;
#endif
}; };
#ifdef UNICODE #ifdef UNICODE
#define RASCONNSTATUS RASCONNSTATUSW #define RASCONNSTATUS RASCONNSTATUSW
#else #else
#define RASCONNSTATUS RASCONNSTATUSA #define RASCONNSTATUS RASCONNSTATUSA
#endif #endif
#define LPRASCONNSTATUSW RASCONNSTATUSW* #define LPRASCONNSTATUSW RASCONNSTATUSW*
#define LPRASCONNSTATUSA RASCONNSTATUSA* #define LPRASCONNSTATUSA RASCONNSTATUSA*
skipping to change at line 261 skipping to change at line 349
WCHAR szEntryName[ RAS_MaxEntryName + 1 ]; WCHAR szEntryName[ RAS_MaxEntryName + 1 ];
WCHAR szPhoneNumber[ RAS_MaxPhoneNumber + 1 ]; WCHAR szPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
WCHAR szCallbackNumber[ RAS_MaxCallbackNumber + 1 ]; WCHAR szCallbackNumber[ RAS_MaxCallbackNumber + 1 ];
WCHAR szUserName[ UNLEN + 1 ]; WCHAR szUserName[ UNLEN + 1 ];
WCHAR szPassword[ PWLEN + 1 ]; WCHAR szPassword[ PWLEN + 1 ];
WCHAR szDomain[ DNLEN + 1 ]; WCHAR szDomain[ DNLEN + 1 ];
#if (WINVER >= 0x401) #if (WINVER >= 0x401)
DWORD dwSubEntry; DWORD dwSubEntry;
ULONG_PTR dwCallbackId; ULONG_PTR dwCallbackId;
#endif #endif
#if (WINVER >= 0x601)
DWORD dwIfIndex;
#endif
}; };
#define RASDIALPARAMSA struct tagRASDIALPARAMSA #define RASDIALPARAMSA struct tagRASDIALPARAMSA
RASDIALPARAMSA RASDIALPARAMSA
{ {
DWORD dwSize; DWORD dwSize;
CHAR szEntryName[ RAS_MaxEntryName + 1 ]; CHAR szEntryName[ RAS_MaxEntryName + 1 ];
CHAR szPhoneNumber[ RAS_MaxPhoneNumber + 1 ]; CHAR szPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
CHAR szCallbackNumber[ RAS_MaxCallbackNumber + 1 ]; CHAR szCallbackNumber[ RAS_MaxCallbackNumber + 1 ];
CHAR szUserName[ UNLEN + 1 ]; CHAR szUserName[ UNLEN + 1 ];
CHAR szPassword[ PWLEN + 1 ]; CHAR szPassword[ PWLEN + 1 ];
CHAR szDomain[ DNLEN + 1 ]; CHAR szDomain[ DNLEN + 1 ];
#if (WINVER >= 0x401) #if (WINVER >= 0x401)
DWORD dwSubEntry; DWORD dwSubEntry;
ULONG_PTR dwCallbackId; ULONG_PTR dwCallbackId;
#endif #endif
#if (WINVER >= 0x601)
DWORD dwIfIndex;
#endif
}; };
#ifdef UNICODE #ifdef UNICODE
#define RASDIALPARAMS RASDIALPARAMSW #define RASDIALPARAMS RASDIALPARAMSW
#else #else
#define RASDIALPARAMS RASDIALPARAMSA #define RASDIALPARAMS RASDIALPARAMSA
#endif #endif
#define LPRASDIALPARAMSW RASDIALPARAMSW* #define LPRASDIALPARAMSW RASDIALPARAMSW*
#define LPRASDIALPARAMSA RASDIALPARAMSA* #define LPRASDIALPARAMSA RASDIALPARAMSA*
skipping to change at line 300 skipping to change at line 394
#define RASEAPINFO struct tagRASEAPINFO #define RASEAPINFO struct tagRASEAPINFO
RASEAPINFO RASEAPINFO
{ {
DWORD dwSizeofEapInfo; DWORD dwSizeofEapInfo;
BYTE *pbEapInfo; BYTE *pbEapInfo;
}; };
#endif #endif
#if (WINVER >= 0x601)
typedef struct tagRASDEVSPECIFICINFO
{
DWORD dwSize;
BYTE *pbDevSpecificInfo;
} RASDEVSPECIFICINFO, *PRASDEVSPECIFICINFO;
#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
#if (WINVER >= 0x601)
BOOL fSkipPppAuth;
RASDEVSPECIFICINFO RasDevSpecificInfo;
#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
#define RDEOPT_IgnoreModemSpeaker 0x00000004 #define RDEOPT_IgnoreModemSpeaker 0x00000004
#define RDEOPT_SetModemSpeaker 0x00000008 #define RDEOPT_SetModemSpeaker 0x00000008
skipping to change at line 620 skipping to change at line 727
/* 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) #if (WINVER >= 0x600)
#define RASLCPO_AES_128 0x00000020 #define RASLCPO_AES_128 0x00000020
#define RASLCPO_AES_256 0x00000040 #define RASLCPO_AES_256 0x00000040
#endif /* WINVER >= 0x0600 */ #endif /* WINVER >= 0x0600 */
#endif #endif
#define RASPPPLCPW struct tagRASPPPLCPW #define RASPPPLCPW struct tagRASPPPLCPW
RASPPPLCPW RASPPPLCPW
{ {
DWORD dwSize; DWORD dwSize;
BOOL fBundled; BOOL fBundled;
skipping to change at line 750 skipping to change at line 857
DWORD dwCompressionAlgorithm; DWORD dwCompressionAlgorithm;
DWORD dwOptions; DWORD dwOptions;
DWORD dwServerCompressionAlgorithm; DWORD dwServerCompressionAlgorithm;
DWORD dwServerOptions; DWORD dwServerOptions;
}; };
#define LPRASPPPCCP RASPPPCCP* #define LPRASPPPCCP RASPPPCCP*
#endif #endif
/*
** New Projection Information structure for PPP and IKEv2
**
*/
#if (WINVER >= 0x601)
typedef struct _RASPPP_PROJECTION_INFO {
// IPv4 Projection Parameters
DWORD dwIPv4NegotiationError;
RASIPV4ADDR ipv4Address;
RASIPV4ADDR ipv4ServerAddress;
DWORD dwIPv4Options;
DWORD dwIPv4ServerOptions;
// IPv6 Projection Parameters
DWORD dwIPv6NegotiationError;
BYTE bInterfaceIdentifier[8];
BYTE bServerInterfaceIdentifier[8];
// LCP Options
BOOL fBundled;
BOOL fMultilink;
DWORD dwAuthenticationProtocol;
DWORD dwAuthenticationData;
DWORD dwServerAuthenticationProtocol;
DWORD dwServerAuthenticationData;
DWORD dwEapTypeId;
DWORD dwServerEapTypeId;
DWORD dwLcpOptions;
DWORD dwLcpServerOptions;
// CCP options
DWORD dwCcpError;
DWORD dwCcpCompressionAlgorithm;
DWORD dwCcpServerCompressionAlgorithm;
DWORD dwCcpOptions;
DWORD dwCcpServerOptions;
}
RASPPP_PROJECTION_INFO, *PRASPPP_PROJECTION_INFO;
/* RASIKEV2_PROJECTION_INFO 'dwFlags' values.
*/
#define RASIKEv2_FLAGS_MOBIKESUPPORTED 0x00000001
#define RASIKEv2_FLAGS_BEHIND_NAT 0x00000002
#define RASIKEv2_FLAGS_SERVERBEHIND_NAT 0x00000004
/* RASIKEV2_PROJECTION_INFO 'dwAuthenticatonProtocol' values.
*/
#define RASIKEv2_AUTH_MACHINECERTIFICATES 1
#define RASIKEv2_AUTH_EAP 2
typedef struct _RASIKEV2_PROJECTION_INFO {
// IPv4 Projection Parameters
DWORD dwIPv4NegotiationError;
RASIPV4ADDR ipv4Address;
RASIPV4ADDR ipv4ServerAddress;
// IPv6 Projection Parameters
DWORD dwIPv6NegotiationError;
RASIPV6ADDR ipv6Address;
RASIPV6ADDR ipv6ServerAddress;
DWORD dwPrefixLength;
// AUTH
DWORD dwAuthenticationProtocol;
DWORD dwEapTypeId;
DWORD dwFlags;
DWORD dwEncryptionMethod;
DWORD numIPv4ServerAddresses;
RASIPV4ADDR* ipv4ServerAddresses;
DWORD numIPv6ServerAddresses;
RASIPV6ADDR* ipv6ServerAddresses;
}
RASIKEV2_PROJECTION_INFO, *PRASIKEV2_PROJECTION_INFO;
typedef enum _RASPROJECTION_INFO_TYPE {
PROJECTION_INFO_TYPE_PPP = 1,
PROJECTION_INFO_TYPE_IKEv2,
}
RASPROJECTION_INFO_TYPE;
typedef struct _RAS_PROJECTION_INFO {
RASAPIVERSION version;
RASPROJECTION_INFO_TYPE type;
// Based on the connectionFlags, it should use appropriate projection info
union {
RASPPP_PROJECTION_INFO ppp;
RASIKEV2_PROJECTION_INFO ikev2;
};
}
RAS_PROJECTION_INFO, *PRAS_PROJECTION_INFO;
#endif
/* If using RasDial message notifications, get the notification message code /* If using RasDial message notifications, get the notification message code
** by passing this string to the RegisterWindowMessageA() API. ** by passing this string to the RegisterWindowMessageA() API.
** WM_RASDIALEVENT is used only if a unique message cannot be registered. ** WM_RASDIALEVENT is used only if a unique message cannot be registered.
*/ */
#define RASDIALEVENT "RasDialEvent" #define RASDIALEVENT "RasDialEvent"
#define WM_RASDIALEVENT 0xCCCD #define WM_RASDIALEVENT 0xCCCD
/* Prototypes for caller's RasDial callback handler. Arguments are the /* Prototypes for caller's RasDial callback handler. Arguments are the
** message ID (currently always WM_RASDIALEVENT), the current RASCONNSTATE and ** message ID (currently always WM_RASDIALEVENT), the current RASCONNSTATE and
** the error that has occurred (or 0 if none). Extended arguments are the ** the error that has occurred (or 0 if none). Extended arguments are the
skipping to change at line 820 skipping to change at line 1028
** RASCTRYINFOA and RASCTRYINFOW. This may ** RASCTRYINFOA and RASCTRYINFOW. This may
** change in the future. ** change in the future.
*/ */
#define RASCTRYINFOW RASCTRYINFO #define RASCTRYINFOW RASCTRYINFO
#define RASCTRYINFOA RASCTRYINFO #define RASCTRYINFOA RASCTRYINFO
#define LPRASCTRYINFOW RASCTRYINFOW* #define LPRASCTRYINFOW RASCTRYINFOW*
#define LPRASCTRYINFOA RASCTRYINFOW* #define LPRASCTRYINFOA RASCTRYINFOW*
#define LPRASCTRYINFO RASCTRYINFO* #define LPRASCTRYINFO RASCTRYINFO*
/* A RAS IP address.
*/
#define RASIPADDR struct RASIPADDR
RASIPADDR
{
BYTE a;
BYTE b;
BYTE c;
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.
#if (WINVER >= 0x600)
#define VS_SstpOnly 5 // Only SSTP is attempted
#define VS_SstpFirst 6 // SSTP is attempted first
#endif
#if (WINVER >= 0x601)
#define VS_Ikev2Only 7 // Only VPN Ikev2 is attempted
#define VS_Ikev2First 8 // VPN Ikev2 is attempted first
#endif
#if (WINVER >= 0x601)
#define VS_PptpSstp 12 // PPTP is attempted followed only by SSTP
#define VS_L2tpSstp 13 // L2TP is attempted followed only by SSTP
#define VS_Ikev2Sstp 14 // IKEv2 is attempted followed only by SSTP
#endif
/* 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 981 skipping to change at line 1187
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 #endif
#if (WINVER >= 0x600)
// //
// PPP/IPv6 // PPP/IPv6
// //
#if (WINVER >= 0x600)
RASIPV6ADDR ipv6addrDns; RASIPV6ADDR ipv6addrDns;
RASIPV6ADDR ipv6addrDnsAlt; RASIPV6ADDR ipv6addrDnsAlt;
DWORD dwIPv4InterfaceMetric; DWORD dwIPv4InterfaceMetric;
DWORD dwIPv6InterfaceMetric; DWORD dwIPv6InterfaceMetric;
#endif #endif
#if (WINVER >= 0x601)
// Fields required for supporting static IPv6 address
// configuration for a vpn interface by the user
RASIPV6ADDR ipv6addr;
DWORD dwIPv6PrefixLength;
//
// IKEv2 related
DWORD dwNetworkOutageTime;
#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 1117 skipping to change at line 1335
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 #endif
#if (WINVER >= 0x600)
// //
// PPP/IPv6 // PPP/IPv6
// //
#if (WINVER >= 0x600)
RASIPV6ADDR ipv6addrDns; RASIPV6ADDR ipv6addrDns;
RASIPV6ADDR ipv6addrDnsAlt; RASIPV6ADDR ipv6addrDnsAlt;
DWORD dwIPv4InterfaceMetric; DWORD dwIPv4InterfaceMetric;
DWORD dwIPv6InterfaceMetric; DWORD dwIPv6InterfaceMetric;
#endif #endif
#if (WINVER >= 0x601)
//Fields required for supporting static IPv6 address
// configuration for a vpn interface by the user
RASIPV6ADDR ipv6addr;
DWORD dwIPv6PrefixLength;
//
// IKEv2 related
DWORD dwNetworkOutageTime;
#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*
#define LPRASENTRYA RASENTRYA* #define LPRASENTRYA RASENTRYA*
skipping to change at line 1204 skipping to change at line 1434
#if (WINVER >= 0x600) #if (WINVER >= 0x600)
#define RASEO2_SecureRoutingCompartment 0x00000400 #define RASEO2_SecureRoutingCompartment 0x00000400
#define RASEO2_UseTypicalSettings 0x00000800 #define RASEO2_UseTypicalSettings 0x00000800
#define RASEO2_IPv6SpecificNameServers 0x00001000 #define RASEO2_IPv6SpecificNameServers 0x00001000
#define RASEO2_IPv6RemoteDefaultGateway 0x00002000 #define RASEO2_IPv6RemoteDefaultGateway 0x00002000
#define RASEO2_RegisterIpWithDNS 0x00004000 #define RASEO2_RegisterIpWithDNS 0x00004000
#define RASEO2_UseDNSSuffixForRegistration 0x00008000 #define RASEO2_UseDNSSuffixForRegistration 0x00008000
#define RASEO2_IPv4ExplicitMetric 0x00010000 #define RASEO2_IPv4ExplicitMetric 0x00010000
#define RASEO2_IPv6ExplicitMetric 0x00020000 #define RASEO2_IPv6ExplicitMetric 0x00020000
#define RASEO2_DisableIKENameEkuCheck 0x00040000 #define RASEO2_DisableIKENameEkuCheck 0x00040000
#endif
#if (WINVER >= 0x601)
#define RASEO2_DisableClassBasedStaticRoute 0x00080000
#define RASEO2_SpecificIPv6Addr 0x00100000
#define RASEO2_DisableMobility 0x00200000
#define RASEO2_RequireMachineCertificates 0x00400000
#endif #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) #if (WINVER >= 0x600)
#define RASNP_Ipv6 0x00000008 #define RASNP_Ipv6 0x00000008
#endif #endif
skipping to change at line 1275 skipping to change at line 1512
typedef BOOL (WINAPI *ORASADFUNC)( HWND, LPSTR, DWORD, LPDWORD ); typedef BOOL (WINAPI *ORASADFUNC)( HWND, LPSTR, DWORD, LPDWORD );
#if (WINVER >= 0x400) #if (WINVER >= 0x400)
/* Flags for RasConnectionNotification(). /* Flags for RasConnectionNotification().
*/ */
#define RASCN_Connection 0x00000001 #define RASCN_Connection 0x00000001
#define RASCN_Disconnection 0x00000002 #define RASCN_Disconnection 0x00000002
#define RASCN_BandwidthAdded 0x00000004 #define RASCN_BandwidthAdded 0x00000004
#define RASCN_BandwidthRemoved 0x00000008 #define RASCN_BandwidthRemoved 0x00000008
#define RASCN_Dormant 0x00000010
#define RASCN_ReConnection 0x00000020
#endif #endif
#if (WINVER >= 0x401) #if (WINVER >= 0x401)
/* RASENTRY 'dwDialMode' values. /* RASENTRY 'dwDialMode' values.
*/ */
#define RASEDM_DialAll 1 #define RASEDM_DialAll 1
#define RASEDM_DialAsNeeded 2 #define RASEDM_DialAsNeeded 2
/* RASENTRY 'dwIdleDisconnectSeconds' constants. /* RASENTRY 'dwIdleDisconnectSeconds' constants.
*/ */
skipping to change at line 1519 skipping to change at line 1757
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( __in_opt LPRASDIALEXTENSIONS, __in_opt LPCSTR, __in LPR
LPVOID, LPHRASCONN ); ASDIALPARAMSA, __in DWORD,
__in_opt LPVOID, __out LPHRASCONN );
DWORD APIENTRY RasDialW( LPRASDIALEXTENSIONS, LPCWSTR, LPRASDIALPARAMSW, DWORD, DWORD APIENTRY RasDialW( __in_opt LPRASDIALEXTENSIONS, __in_opt LPCWSTR, __in LP
LPVOID, LPHRASCONN ); RASDIALPARAMSW, __in DWORD,
__in_opt LPVOID, __out LPHRASCONN );
DWORD APIENTRY RasEnumConnectionsA( LPRASCONNA, LPDWORD, LPDWORD ); DWORD APIENTRY RasEnumConnectionsA( __inout_opt LPRASCONNA, __inout LPDWORD, __o ut LPDWORD );
DWORD APIENTRY RasEnumConnectionsW( LPRASCONNW, LPDWORD, LPDWORD ); DWORD APIENTRY RasEnumConnectionsW( __inout_opt LPRASCONNW, __inout LPDWORD, __o ut LPDWORD );
DWORD APIENTRY RasEnumEntriesA( LPCSTR, LPCSTR, LPRASENTRYNAMEA, LPDWORD, DWORD APIENTRY RasEnumEntriesA( __in_opt LPCSTR, __in_opt LPCSTR, __inout_opt LP
LPDWORD ); RASENTRYNAMEA, __inout LPDWORD,
__out LPDWORD );
DWORD APIENTRY RasEnumEntriesW( LPCWSTR, LPCWSTR, LPRASENTRYNAMEW, LPDWORD, DWORD APIENTRY RasEnumEntriesW( __in_opt LPCWSTR, __in_opt LPCWSTR, __inout_opt
LPDWORD ); LPRASENTRYNAMEW, __inout LPDWORD,
__out LPDWORD );
DWORD APIENTRY RasGetConnectStatusA( HRASCONN, LPRASCONNSTATUSA ); DWORD APIENTRY RasGetConnectStatusA( __in HRASCONN, __inout LPRASCONNSTATUSA );
DWORD APIENTRY RasGetConnectStatusW( HRASCONN, LPRASCONNSTATUSW ); DWORD APIENTRY RasGetConnectStatusW( __in HRASCONN, __inout LPRASCONNSTATUSW );
DWORD APIENTRY RasGetErrorStringA( UINT uErrorValue, __inout_bcount(cBufSize) LP STR lpszErrorString, DWORD cBufSize); DWORD APIENTRY RasGetErrorStringA( __in UINT ResourceId, __out_bcount(InBufSize) LPSTR lpszString, __in DWORD InBufSize);
DWORD APIENTRY RasGetErrorStringW( UINT ResourceId, __out_ecount(InBufSize) LPWS TR lpszString, DWORD InBufSize); DWORD APIENTRY RasGetErrorStringW( __in UINT ResourceId, __out_bcount(InBufSize) LPWSTR lpszString, __in DWORD InBufSize);
DWORD APIENTRY RasHangUpA( HRASCONN ); DWORD APIENTRY RasHangUpA( __in HRASCONN );
DWORD APIENTRY RasHangUpW( HRASCONN ); DWORD APIENTRY RasHangUpW( __in HRASCONN );
DWORD APIENTRY RasGetProjectionInfoA( HRASCONN, RASPROJECTION, LPVOID, DWORD APIENTRY RasGetProjectionInfoA( __in HRASCONN, __in RASPROJECTION, __out L
LPDWORD ); PVOID, __inout LPDWORD );
DWORD APIENTRY RasGetProjectionInfoW( HRASCONN, RASPROJECTION, LPVOID, DWORD APIENTRY RasGetProjectionInfoW( __in HRASCONN, __in RASPROJECTION, __out L
LPDWORD ); PVOID, __inout LPDWORD );
DWORD APIENTRY RasCreatePhonebookEntryA( HWND, LPCSTR ); DWORD APIENTRY RasCreatePhonebookEntryA( __in HWND, __in_opt LPCSTR );
DWORD APIENTRY RasCreatePhonebookEntryW( HWND, LPCWSTR ); DWORD APIENTRY RasCreatePhonebookEntryW( __in HWND, __in_opt LPCWSTR );
DWORD APIENTRY RasEditPhonebookEntryA( HWND, LPCSTR, LPCSTR ); DWORD APIENTRY RasEditPhonebookEntryA( __in HWND, __in_opt LPCSTR, __in LPCSTR ) ;
DWORD APIENTRY RasEditPhonebookEntryW( HWND, LPCWSTR, LPCWSTR ); DWORD APIENTRY RasEditPhonebookEntryW( __in HWND, __in_opt LPCWSTR, __in LPCWSTR );
DWORD APIENTRY RasSetEntryDialParamsA( LPCSTR, LPRASDIALPARAMSA, BOOL ); DWORD APIENTRY RasSetEntryDialParamsA( __in_opt LPCSTR, __in LPRASDIALPARAMSA, _ _in BOOL );
DWORD APIENTRY RasSetEntryDialParamsW( LPCWSTR, LPRASDIALPARAMSW, BOOL ); DWORD APIENTRY RasSetEntryDialParamsW( __in_opt LPCWSTR, __in LPRASDIALPARAMSW, __in BOOL );
DWORD APIENTRY RasGetEntryDialParamsA( LPCSTR, LPRASDIALPARAMSA, LPBOOL ); DWORD APIENTRY RasGetEntryDialParamsA( __in_opt LPCSTR, __inout LPRASDIALPARAMSA , __out LPBOOL );
DWORD APIENTRY RasGetEntryDialParamsW( LPCWSTR, LPRASDIALPARAMSW, LPBOOL ); DWORD APIENTRY RasGetEntryDialParamsW( __in_opt LPCWSTR, __inout LPRASDIALPARAMS W, __out LPBOOL );
DWORD APIENTRY RasEnumDevicesA( LPRASDEVINFOA, LPDWORD, LPDWORD ); DWORD APIENTRY RasEnumDevicesA( __inout_opt LPRASDEVINFOA, __inout LPDWORD, __ou t LPDWORD );
DWORD APIENTRY RasEnumDevicesW( LPRASDEVINFOW, LPDWORD, LPDWORD ); DWORD APIENTRY RasEnumDevicesW( __inout_opt LPRASDEVINFOW, __inout LPDWORD, __ou t LPDWORD );
DWORD APIENTRY RasGetCountryInfoA( LPRASCTRYINFOA, LPDWORD ); DWORD APIENTRY RasGetCountryInfoA( __inout_opt LPRASCTRYINFOA, __inout LPDWORD ) ;
DWORD APIENTRY RasGetCountryInfoW( LPRASCTRYINFOW, LPDWORD ); DWORD APIENTRY RasGetCountryInfoW( __inout_opt LPRASCTRYINFOW, __inout LPDWORD ) ;
DWORD APIENTRY RasGetEntryPropertiesA( LPCSTR, LPCSTR, LPRASENTRYA, LPDWORD, LPB YTE, LPDWORD ); DWORD APIENTRY RasGetEntryPropertiesA( __in_opt LPCSTR, __in LPCSTR, __inout_opt LPRASENTRYA, __inout LPDWORD, __out_opt LPBYTE, __inout_opt LPDWORD );
DWORD APIENTRY RasGetEntryPropertiesW( LPCWSTR, LPCWSTR, LPRASENTRYW, LPDWORD, L PBYTE, LPDWORD ); DWORD APIENTRY RasGetEntryPropertiesW( __in_opt LPCWSTR, __in LPCWSTR, __inout_o pt LPRASENTRYW, __inout LPDWORD, __out_opt LPBYTE, __inout_opt LPDWORD );
DWORD APIENTRY RasSetEntryPropertiesA( LPCSTR, LPCSTR, LPRASENTRYA, DWORD, LPBYT E, DWORD ); DWORD APIENTRY RasSetEntryPropertiesA( __in_opt LPCSTR, __in LPCSTR, __in LPRASE NTRYA, __in DWORD, __in_opt LPBYTE, __in DWORD );
DWORD APIENTRY RasSetEntryPropertiesW( LPCWSTR, LPCWSTR, LPRASENTRYW, DWORD, LPB YTE, DWORD ); DWORD APIENTRY RasSetEntryPropertiesW( __in_opt LPCWSTR, __in LPCWSTR, __in LPRA SENTRYW, __in DWORD, __in_opt LPBYTE, __in DWORD );
DWORD APIENTRY RasRenameEntryA( LPCSTR, LPCSTR, LPCSTR ); DWORD APIENTRY RasRenameEntryA( __in_opt LPCSTR, __in LPCSTR, __in LPCSTR );
DWORD APIENTRY RasRenameEntryW( LPCWSTR, LPCWSTR, LPCWSTR ); DWORD APIENTRY RasRenameEntryW( __in_opt LPCWSTR, __in LPCWSTR, __in LPCWSTR );
DWORD APIENTRY RasDeleteEntryA( LPCSTR, LPCSTR ); DWORD APIENTRY RasDeleteEntryA( __in_opt LPCSTR, __in LPCSTR );
DWORD APIENTRY RasDeleteEntryW( LPCWSTR, LPCWSTR ); DWORD APIENTRY RasDeleteEntryW( __in_opt LPCWSTR, __in LPCWSTR );
DWORD APIENTRY RasValidateEntryNameA( LPCSTR, LPCSTR ); DWORD APIENTRY RasValidateEntryNameA( __in_opt LPCSTR, __in LPCSTR );
DWORD APIENTRY RasValidateEntryNameW( LPCWSTR, LPCWSTR ); DWORD APIENTRY RasValidateEntryNameW( __in_opt LPCWSTR, __in LPCWSTR );
DWORD APIENTRY RasConnectionNotificationA( HRASCONN, HANDLE, DWORD ); DWORD APIENTRY RasConnectionNotificationA( __in HRASCONN, __in HANDLE, __in DWOR D );
DWORD APIENTRY RasConnectionNotificationW( HRASCONN, HANDLE, DWORD ); DWORD APIENTRY RasConnectionNotificationW( __in HRASCONN, __in HANDLE, __in DWOR D );
#if (WINVER >= 0x401) #if (WINVER >= 0x401)
DWORD APIENTRY RasGetSubEntryHandleA( HRASCONN, DWORD, LPHRASCONN ); DWORD APIENTRY RasGetSubEntryHandleA( __in HRASCONN, __in DWORD, __out LPHRASCON N );
DWORD APIENTRY RasGetSubEntryHandleW( HRASCONN, DWORD, LPHRASCONN ); DWORD APIENTRY RasGetSubEntryHandleW( __in HRASCONN, __in DWORD, __out LPHRASCON N );
DWORD APIENTRY RasGetCredentialsA( LPCSTR, LPCSTR, LPRASCREDENTIALSA ); DWORD APIENTRY RasGetCredentialsA( __in_opt LPCSTR, __in LPCSTR, __inout LPRASCR EDENTIALSA );
DWORD APIENTRY RasGetCredentialsW( LPCWSTR, LPCWSTR, LPRASCREDENTIALSW ); DWORD APIENTRY RasGetCredentialsW( __in_opt LPCWSTR, __in LPCWSTR, __inout LPRAS CREDENTIALSW );
DWORD APIENTRY RasSetCredentialsA( LPCSTR, LPCSTR, LPRASCREDENTIALSA, BOOL ); DWORD APIENTRY RasSetCredentialsA( __in_opt LPCSTR, __in LPCSTR, __in LPRASCREDE NTIALSA, __in BOOL );
DWORD APIENTRY RasSetCredentialsW( LPCWSTR, LPCWSTR, LPRASCREDENTIALSW, BOOL ); DWORD APIENTRY RasSetCredentialsW( __in_opt LPCWSTR, __in LPCWSTR, __in LPRASCRE DENTIALSW, __in BOOL );
DWORD APIENTRY RasGetSubEntryPropertiesA( LPCSTR, LPCSTR, DWORD, DWORD APIENTRY RasGetSubEntryPropertiesA( __in_opt LPCSTR, __in LPCSTR, __in DWO
LPRASSUBENTRYA, LPDWORD, LPBYTE, LPDWORD ); RD,
__inout_opt LPRASSUBENTRYA, __inout_opt LPDWORD, __out_opt
LPBYTE, __inout_opt LPDWORD );
DWORD APIENTRY RasGetSubEntryPropertiesW( LPCWSTR, LPCWSTR, DWORD, DWORD APIENTRY RasGetSubEntryPropertiesW( __in_opt LPCWSTR, __in LPCWSTR, __in D
LPRASSUBENTRYW, LPDWORD, LPBYTE, LPDWORD ); WORD,
__inout_opt LPRASSUBENTRYW, __inout_opt LPDWORD, __out_opt L
PBYTE, __inout_opt LPDWORD );
DWORD APIENTRY RasSetSubEntryPropertiesA( LPCSTR, LPCSTR, DWORD, DWORD APIENTRY RasSetSubEntryPropertiesA( __in_opt LPCSTR, __in LPCSTR, __in DWO
LPRASSUBENTRYA, DWORD, LPBYTE, DWORD ); RD,
__in LPRASSUBENTRYA, __in DWORD, __in_opt LPBYTE, __in DWOR
D );
DWORD APIENTRY RasSetSubEntryPropertiesW( LPCWSTR, LPCWSTR, DWORD, DWORD APIENTRY RasSetSubEntryPropertiesW( __in_opt LPCWSTR, __in LPCWSTR, __in D
LPRASSUBENTRYW, DWORD, LPBYTE, DWORD ); WORD,
__in LPRASSUBENTRYW, __in DWORD, __in_opt LPBYTE, __in DWOR
D );
DWORD APIENTRY RasGetAutodialAddressA( LPCSTR, LPDWORD, LPRASAUTODIALENTRYA, DWORD APIENTRY RasGetAutodialAddressA( __in_opt LPCSTR, __in_opt LPDWORD, __inou
LPDWORD, LPDWORD ); t_opt LPRASAUTODIALENTRYA,
__inout LPDWORD, __out LPDWORD );
DWORD APIENTRY RasGetAutodialAddressW( LPCWSTR, LPDWORD, LPRASAUTODIALENTRYW, DWORD APIENTRY RasGetAutodialAddressW( __in_opt LPCWSTR, __in_opt LPDWORD, __ino
LPDWORD, LPDWORD ); ut_opt LPRASAUTODIALENTRYW,
__inout LPDWORD, __out LPDWORD );
DWORD APIENTRY RasSetAutodialAddressA( LPCSTR, DWORD, LPRASAUTODIALENTRYA, DWORD APIENTRY RasSetAutodialAddressA( __in_opt LPCSTR, __in DWORD, __in_opt
DWORD, DWORD ); LPRASAUTODIALENTRYA,
__in DWORD, __in DWORD );
DWORD APIENTRY RasSetAutodialAddressW( LPCWSTR, DWORD, LPRASAUTODIALENTRYW, DWORD APIENTRY RasSetAutodialAddressW( __in_opt LPCWSTR, __in DWORD, __in_opt
DWORD, DWORD ); LPRASAUTODIALENTRYW,
__in DWORD, __in DWORD );
DWORD APIENTRY RasEnumAutodialAddressesA( DWORD APIENTRY RasEnumAutodialAddressesA(
__inout_bcount_opt(*lpdwcbRasAutodialAddresses) LPSTR *lppRasAutodialAddress es, __inout_bcount_opt(*lpdwcbRasAutodialAddresses) LPSTR *lppRasAutodialAddress es,
__inout LPDWORD lpdwcbRasAutodialAddresses, __inout LPDWORD lpdwcbRasAutodialAddresses,
__out LPDWORD lpdwcRasAutodialAddresses); __out LPDWORD lpdwcRasAutodialAddresses);
DWORD APIENTRY RasEnumAutodialAddressesW( DWORD APIENTRY RasEnumAutodialAddressesW(
__inout_bcount_opt(*lpdwcbRasAutodialAddresses) LPWSTR *lppRasAutodialAddres ses, __inout_bcount_opt(*lpdwcbRasAutodialAddresses) LPWSTR *lppRasAutodialAddres ses,
__inout LPDWORD lpdwcbRasAutodialAddresses, __inout LPDWORD lpdwcbRasAutodialAddresses,
__out LPDWORD lpdwcRasAutodialAddresses); __out LPDWORD lpdwcRasAutodialAddresses);
DWORD APIENTRY RasGetAutodialEnableA( DWORD, LPBOOL ); DWORD APIENTRY RasGetAutodialEnableA( __in DWORD, __out LPBOOL );
DWORD APIENTRY RasGetAutodialEnableW( DWORD, LPBOOL ); DWORD APIENTRY RasGetAutodialEnableW( __in DWORD, __out LPBOOL );
DWORD APIENTRY RasSetAutodialEnableA( DWORD, BOOL ); DWORD APIENTRY RasSetAutodialEnableA( __in DWORD, __in BOOL );
DWORD APIENTRY RasSetAutodialEnableW( DWORD, BOOL ); DWORD APIENTRY RasSetAutodialEnableW( __in DWORD, __in BOOL );
DWORD APIENTRY RasGetAutodialParamA( DWORD, LPVOID, LPDWORD ); DWORD APIENTRY RasGetAutodialParamA( __in DWORD, __out LPVOID, __inout LPDWORD ) ;
DWORD APIENTRY RasGetAutodialParamW( DWORD, LPVOID, LPDWORD ); DWORD APIENTRY RasGetAutodialParamW( __in DWORD, __out LPVOID, __inout LPDWORD ) ;
DWORD APIENTRY RasSetAutodialParamA( DWORD, LPVOID, DWORD ); DWORD APIENTRY RasSetAutodialParamA( __in DWORD, __in LPVOID, __in DWORD );
DWORD APIENTRY RasSetAutodialParamW( __in DWORD, __in LPVOID, __in DWORD );
DWORD APIENTRY RasSetAutodialParamW( DWORD, LPVOID, DWORD );
#endif #endif
#if (WINVER >= 0x500) #if (WINVER >= 0x500)
typedef struct _RAS_STATS typedef struct _RAS_STATS
{ {
DWORD dwSize; DWORD dwSize;
DWORD dwBytesXmited; DWORD dwBytesXmited;
DWORD dwBytesRcved; DWORD dwBytesRcved;
DWORD dwFramesXmited; DWORD dwFramesXmited;
skipping to change at line 1734 skipping to change at line 1971
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( __in HRASCONN, __in DWORD, __in LPRASDIALEXTENSIO NS, __in HWND);
DWORD APIENTRY RasGetLinkStatistics(HRASCONN hRasConn, DWORD APIENTRY RasGetLinkStatistics(__in HRASCONN hRasConn,
DWORD dwSubEntry, __in DWORD dwSubEntry,
RAS_STATS *lpStatistics ); __inout RAS_STATS *lpStatistics );
DWORD APIENTRY RasGetConnectionStatistics( HRASCONN hRasConn, DWORD APIENTRY RasGetConnectionStatistics( __in HRASCONN hRasConn,
RAS_STATS *lpStatistics ); __inout RAS_STATS *lpStatistics );
DWORD APIENTRY RasClearLinkStatistics(HRASCONN hRasConn, DWORD APIENTRY RasClearLinkStatistics(__in HRASCONN hRasConn,
DWORD dwSubEntry); __in DWORD dwSubEntry);
DWORD APIENTRY RasClearConnectionStatistics( HRASCONN hRasConn ); DWORD APIENTRY RasClearConnectionStatistics( __in HRASCONN hRasConn );
DWORD APIENTRY RasGetEapUserDataA( DWORD APIENTRY RasGetEapUserDataA(
HANDLE hToken, __in_opt HANDLE hToken,
LPCSTR pszPhonebook, __in_opt LPCSTR pszPhonebook,
LPCSTR pszEntry, __in LPCSTR pszEntry,
BYTE *pbEapData, __out_opt BYTE *pbEapData,
DWORD *pdwSizeofEapData ); __inout DWORD *pdwSizeofEapData );
DWORD APIENTRY RasGetEapUserDataW( DWORD APIENTRY RasGetEapUserDataW(
HANDLE hToken, __in_opt HANDLE hToken,
LPCWSTR pszPhonebook, __in_opt LPCWSTR pszPhonebook,
LPCWSTR pszEntry, __in LPCWSTR pszEntry,
BYTE *pbEapData, __out_opt BYTE *pbEapData,
DWORD *pdwSizeofEapData ); __inout DWORD *pdwSizeofEapData );
DWORD APIENTRY RasSetEapUserDataA( DWORD APIENTRY RasSetEapUserDataA(
HANDLE hToken, __in_opt HANDLE hToken,
LPCSTR pszPhonebook, __in_opt LPCSTR pszPhonebook,
LPCSTR pszEntry, __in LPCSTR pszEntry,
BYTE *pbEapData, __in BYTE *pbEapData,
DWORD dwSizeofEapData ); __in DWORD dwSizeofEapData );
DWORD APIENTRY RasSetEapUserDataW( DWORD APIENTRY RasSetEapUserDataW(
HANDLE hToken, __in_opt HANDLE hToken,
LPCWSTR pszPhonebook, __in_opt LPCWSTR pszPhonebook,
LPCWSTR pszEntry, __in LPCWSTR pszEntry,
BYTE *pbEapData, __in BYTE *pbEapData,
DWORD dwSizeofEapData ); __in DWORD dwSizeofEapData );
DWORD APIENTRY RasGetCustomAuthDataA( DWORD APIENTRY RasGetCustomAuthDataA(
LPCSTR pszPhonebook, __in_opt LPCSTR pszPhonebook,
LPCSTR pszEntry, __in LPCSTR pszEntry,
BYTE *pbCustomAuthData, __out_opt BYTE *pbCustomAuthData,
DWORD *pdwSizeofCustomAuthData ); __inout DWORD *pdwSizeofCustomAuthData );
DWORD APIENTRY RasGetCustomAuthDataW( DWORD APIENTRY RasGetCustomAuthDataW(
LPCWSTR pszPhonebook, __in_opt LPCWSTR pszPhonebook,
LPCWSTR pszEntry, __in LPCWSTR pszEntry,
BYTE *pbCustomAuthData, __out_opt BYTE *pbCustomAuthData,
DWORD *pdwSizeofCustomAuthData ); __inout DWORD *pdwSizeofCustomAuthData );
DWORD APIENTRY RasSetCustomAuthDataA( DWORD APIENTRY RasSetCustomAuthDataA(
LPCSTR pszPhonebook, __in_opt LPCSTR pszPhonebook,
LPCSTR pszEntry, __in LPCSTR pszEntry,
BYTE *pbCustomAuthData, __in BYTE *pbCustomAuthData,
DWORD dwSizeofCustomAuthData __in DWORD dwSizeofCustomAuthData
); );
DWORD APIENTRY RasSetCustomAuthDataW( DWORD APIENTRY RasSetCustomAuthDataW(
LPCWSTR pszPhonebook, __in_opt LPCWSTR pszPhonebook,
LPCWSTR pszEntry, __in LPCWSTR pszEntry,
BYTE *pbCustomAuthData, __in BYTE *pbCustomAuthData,
DWORD dwSizeofCustomAuthData __in DWORD dwSizeofCustomAuthData
); );
DWORD APIENTRY RasGetEapUserIdentityW( DWORD APIENTRY RasGetEapUserIdentityW(
LPCWSTR pszPhonebook, __in_opt LPCWSTR pszPhonebook,
LPCWSTR pszEntry, __in LPCWSTR pszEntry,
DWORD dwFlags, __in DWORD dwFlags,
HWND hwnd, __in HWND hwnd,
LPRASEAPUSERIDENTITYW* ppRasEapUserIdentity __out LPRASEAPUSERIDENTITYW* ppRasEapUserIdentity
); );
DWORD APIENTRY RasGetEapUserIdentityA( DWORD APIENTRY RasGetEapUserIdentityA(
LPCSTR pszPhonebook, __in_opt LPCSTR pszPhonebook,
LPCSTR pszEntry, __in LPCSTR pszEntry,
DWORD dwFlags, __in DWORD dwFlags,
HWND hwnd, __in HWND hwnd,
LPRASEAPUSERIDENTITYA* ppRasEapUserIdentity __out LPRASEAPUSERIDENTITYA* ppRasEapUserIdentity
); );
VOID APIENTRY RasFreeEapUserIdentityW( VOID APIENTRY RasFreeEapUserIdentityW(
LPRASEAPUSERIDENTITYW pRasEapUserIdentity __in LPRASEAPUSERIDENTITYW pRasEapUserIdentity
); );
VOID APIENTRY RasFreeEapUserIdentityA( VOID APIENTRY RasFreeEapUserIdentityA(
LPRASEAPUSERIDENTITYA pRasEapUserIdentity __in LPRASEAPUSERIDENTITYA pRasEapUserIdentity
); );
#endif #endif
#if (WINVER >= 0x501) #if (WINVER >= 0x501)
DWORD APIENTRY RasDeleteSubEntryA( DWORD APIENTRY RasDeleteSubEntryA(
LPCSTR pszPhonebook, __in_opt LPCSTR pszPhonebook,
LPCSTR pszEntry, __in LPCSTR pszEntry,
DWORD dwSubentryId ); __in DWORD dwSubentryId );
DWORD APIENTRY RasDeleteSubEntryW( DWORD APIENTRY RasDeleteSubEntryW(
LPCWSTR pszPhonebook, __in_opt LPCWSTR pszPhonebook,
LPCWSTR pszEntry, __in LPCWSTR pszEntry,
DWORD dwSubEntryId ); __in DWORD dwSubEntryId );
// To use Quarantine APIs, applications should explicitly // To use Quarantine APIs, applications should explicitly
// define USES_RAS_QUARANTINE_APIS. // define USES_RAS_QUARANTINE_APIS.
#ifdef USES_RAS_QUARANTINE_APIS #ifdef USES_RAS_QUARANTINE_APIS
DWORD APIENTRY DWORD APIENTRY
RasGetNapStatus( RasGetNapStatus(
HRASCONN hRasconn, __in HRASCONN hRasconn,
LPRASNAPSTATE pRasNapState); __out LPRASNAPSTATE pRasNapState);
#endif //USES_RAS_QUARANTINE_APIS #endif //USES_RAS_QUARANTINE_APIS
#endif #endif
#if (WINVER >= 0x601)
/* Update an active RAS connection.Localendpoint if specified is used for perfor
ming
/ mobike update.If not specified then dwIfIndex value is used for performing mo
bike.
/ (See RasUpdateConnection)
*/
#define RASUPDATECONN struct tagRASUPDATECONN
RASUPDATECONN
{
RASAPIVERSION version;
DWORD dwSize;
DWORD dwFlags;
DWORD dwIfIndex;
RASTUNNELENDPOINT localEndPoint;
RASTUNNELENDPOINT remoteEndPoint;
};
#define LPRASUPDATECONN RASUPDATECONN*
DWORD APIENTRY
RasUpdateConnection(
__in HRASCONN hrasconn,
__in LPRASUPDATECONN lprasupdateconn);
/* Ras Projection information for PPP or IKEv2
*/
DWORD APIENTRY
RasGetProjectionInfoEx(
__in HRASCONN hrasconn,
__inout_opt PRAS_PROJECTION_INFO pRasProjection,
__inout LPDWORD lpdwSize);
#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)
skipping to change at line 1922 skipping to change at line 2193
#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)
skipping to change at line 1961 skipping to change at line 2232
#define RasGetCustomAuthData RasGetCustomAuthDataA #define RasGetCustomAuthData RasGetCustomAuthDataA
#define RasSetCustomAuthData RasSetCustomAuthDataA #define RasSetCustomAuthData RasSetCustomAuthDataA
#define RasGetEapUserIdentity RasGetEapUserIdentityA #define RasGetEapUserIdentity RasGetEapUserIdentityA
#define RasFreeEapUserIdentity RasFreeEapUserIdentityA #define RasFreeEapUserIdentity RasFreeEapUserIdentityA
#endif #endif
#if (WINVER >= 0x501) #if (WINVER >= 0x501)
#define RasDeleteSubEntry RasDeleteSubEntryA #define RasDeleteSubEntry RasDeleteSubEntryA
#endif #endif
#endif #endif
#pragma warning(pop)
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#include <poppack.h> #include <poppack.h>
#endif // _RAS_H_ #endif // _RAS_H_
 End of changes. 114 change blocks. 
191 lines changed or deleted 484 lines changed or added

This html diff was produced by rfcdiff 1.41.