IKEV2_PROJECTION_INFO structure (mprapi.h)
The IKEV2_PROJECTION_INFO structure contains information obtained during Internet Key Exchange (IKE) negotiation.
Syntax
typedef struct _IKEV2_PROJECTION_INFO {
DWORD dwIPv4NegotiationError;
WCHAR wszAddress[IPADDRESSLEN + 1];
WCHAR wszRemoteAddress[IPADDRESSLEN + 1];
ULONG64 IPv4SubInterfaceIndex;
DWORD dwIPv6NegotiationError;
BYTE bInterfaceIdentifier[8];
BYTE bRemoteInterfaceIdentifier[8];
BYTE bPrefix[8];
DWORD dwPrefixLength;
ULONG64 IPv6SubInterfaceIndex;
DWORD dwOptions;
DWORD dwAuthenticationProtocol;
DWORD dwEapTypeId;
DWORD dwCompressionAlgorithm;
DWORD dwEncryptionMethod;
} IKEV2_PROJECTION_INFO, *PIKEV2_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.
wszAddress[IPADDRESSLEN + 1]
An array that contains a Unicode string that specifies the IPv4 address of the local client. This string has the form "a.b.c.d". wszAddress is valid only if dwIPv4NegotiationError is zero.
wszRemoteAddress[IPADDRESSLEN + 1]
An array that contains a Unicode string that specifies the IPv4 address of the remote server. This string has the form "a.b.c.d". wszRemoteAddress is valid only if dwIPv4NegotiationError is zero. If the address is not available, this member is an empty string.
IPv4SubInterfaceIndex
A value that specifies the IPv4 subinterface index corresponding to the connection on the server.
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.
bInterfaceIdentifier[8]
An array that specifies the 64-bit IPv6 interface identifier of the client. The last 64 bits of a 128-bit IPv6 internet address are considered the "interface identifier," which provides a strong level of uniqueness for the preceding 64-bits. bInterfaceIdentifier is valid only if dwIPv6NegotiationError is zero and must not be zero.
bRemoteInterfaceIdentifier[8]
An array that specifies the 64-bit IPv6 interface identifier of the server. The last 64 bits of a 128-bit IPv6 internet address are considered the "interface identifier," which provides a strong level of uniqueness for the preceding 64-bits. bInterfaceIdentifier is valid only if dwIPv6NegotiationError is zero and must not be zero.
bPrefix[8]
A value that specifies the client interface IPv6 address prefix.
dwPrefixLength
A value that specifies the length, in bits, of bPrefix.
IPv6SubInterfaceIndex
A value that specifies the IPv6 subinterface index corresponding to the connection on the server.
dwOptions
Not used.
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 MPRAPI_IKEV2_AUTH_USING_EAP.
dwCompressionAlgorithm
Not used.
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 |
Requirements
Requirement | Value |
---|---|
Minimum supported client | None supported |
Minimum supported server | Windows Server 2008 R2 [desktop apps only] |
Header | mprapi.h |