RASIKEV2_PROJECTION_INFO structure (ras.h)
The RASIKEV2_PROJECTION_INFO structure contains projection information obtained during Internet Key Exchange (IKE) negotiation.
Syntax
typedef struct _RASIKEV2_PROJECTION_INFO {
DWORD dwIPv4NegotiationError;
RASIPV4ADDR ipv4Address;
RASIPV4ADDR ipv4ServerAddress;
DWORD dwIPv6NegotiationError;
RASIPV6ADDR ipv6Address;
RASIPV6ADDR ipv6ServerAddress;
DWORD dwPrefixLength;
DWORD dwAuthenticationProtocol;
DWORD dwEapTypeId;
DWORD dwFlags;
DWORD dwEncryptionMethod;
DWORD numIPv4ServerAddresses;
RASIPV4ADDR *ipv4ServerAddresses;
DWORD numIPv6ServerAddresses;
RASIPV6ADDR *ipv6ServerAddresses;
} RASIKEV2_PROJECTION_INFO, *PRASIKEV2_PROJECTION_INFO;
Members
dwIPv4NegotiationError
A value that specifies the result of IPv4 negotiation. A value of zero indicates an IPv4 address has been assigned successfully. A nonzero value indicates failure, and is the fatal error that occurred during negotiation.
ipv4Address
A RASIPV4ADDR structure that contains a null-terminated Unicode string that specifies the IPv4 address of the local client. This string has the form "a.b.c.d". ipv4Address is valid only if dwIPv4NegotiationError is zero.
ipv4ServerAddress
A RASIPV4ADDR structure that contains a null-terminated Unicode string that specifies the IPv4 address of the remote server. This string has the form "a.b.c.d". ipv4ServerAddress is valid only if dwIPv4NegotiationError is zero. If the address is not available, this member is an empty string.
dwIPv6NegotiationError
A value that specifies the result of IPv6 negotiation. A value of zero indicates an IPv6 address has been negotiated successfully. A nonzero value indicates failure, and is the fatal error that occurred during negotiation.
ipv6Address
A RASIPV6ADDR structure that contains a null-terminated Unicode string that specifies the IPv6 address of the local client. ipv6Address is valid only if dwIPv6NegotiationError is zero.
ipv6ServerAddress
A RASIPV6ADDR structure that contains a null-terminated Unicode string that specifies the IPv6 address of the remote server. ipv6ServerAddress is valid only if dwIPv6NegotiationError is zero. If the address is not available, this member is an empty string.
dwPrefixLength
A value that specifies the length, in bits, of the IPv6 address prefix.
dwAuthenticationProtocol
A value that specifies the authentication protocol used to authenticate the remote server. The following authentication protocols are supported:
Value | Meaning |
---|---|
|
X.509 Public Key Infrastructure Certificate (RFC 2459). |
|
Extensible Authentication Protocol. |
dwEapTypeId
A value that specifies the type identifier of the Extensible Authentication Protocol (EAP) used to authenticate the local client. The value of this member is valid only if dwAuthenticationProtocol is RASIKEv2_AUTH_EAP.
dwFlags
A bitmap of flags that can be any combination of the following values:
dwEncryptionMethod
A value that specifies the encryption method used in the connection. The following encryption methods are supported:
Value | Meaning |
---|---|
|
3DES encryption. |
|
AES-128 encryption. |
|
AES-192 encryption. |
|
AES-256 encryption. |
numIPv4ServerAddresses
The number of available IPv4 addresses the server can switch to on the IKEv2 connection.
ipv4ServerAddresses
A pointer to a RASIPV4ADDR structure that contains the available IPv4 addresses the server can switch to on the IKEv2 connection.
numIPv6ServerAddresses
The number of available IPv6 addresses the server can switch to on the IKEv2 connection.
ipv6ServerAddresses
A pointer to a RASIPV6ADDR structure that contains the available IPv6 addresses the server can switch to on the IKEv2 connection.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 7 [desktop apps only] |
Minimum supported server | Windows Server 2008 R2 [desktop apps only] |
Header | ras.h |