PPP_PROJECTION_INFO 구조체(mprapi.h)
PPP_PROJECTION_INFO 구조에는 SSTP(Secure Socket Tunneling Protocol), PPTP(지점 간 터널링 프로토콜) 및 L2TP(계층 2 터널링 프로토콜)에 대한 PPP(지점 간) 협상 중에 얻은 정보가 포함됩니다.
구문
typedef struct _PPP_PROJECTION_INFO {
DWORD dwIPv4NegotiationError;
WCHAR wszAddress[IPADDRESSLEN + 1];
WCHAR wszRemoteAddress[IPADDRESSLEN + 1];
DWORD dwIPv4Options;
DWORD dwIPv4RemoteOptions;
ULONG64 IPv4SubInterfaceIndex;
DWORD dwIPv6NegotiationError;
BYTE bInterfaceIdentifier[8];
BYTE bRemoteInterfaceIdentifier[8];
BYTE bPrefix[8];
DWORD dwPrefixLength;
ULONG64 IPv6SubInterfaceIndex;
DWORD dwLcpError;
DWORD dwAuthenticationProtocol;
DWORD dwAuthenticationData;
DWORD dwRemoteAuthenticationProtocol;
DWORD dwRemoteAuthenticationData;
DWORD dwLcpTerminateReason;
DWORD dwLcpRemoteTerminateReason;
DWORD dwLcpOptions;
DWORD dwLcpRemoteOptions;
DWORD dwEapTypeId;
DWORD dwRemoteEapTypeId;
DWORD dwCcpError;
DWORD dwCompressionAlgorithm;
DWORD dwCcpOptions;
DWORD dwRemoteCompressionAlgorithm;
DWORD dwCcpRemoteOptions;
} PPP_PROJECTION_INFO, *PPPP_PROJECTION_INFO;
멤버
dwIPv4NegotiationError
PPP IPv4 네트워크 제어 프로토콜 협상 결과를 지정하는 값입니다. 값이 0이면 Ipv4가 성공적으로 협상되었음을 나타냅니다. 0이 아닌 값은 실패를 나타내며 제어 프로토콜 협상 중에 발생한 치명적인 오류입니다.
wszAddress[IPADDRESSLEN + 1]
로컬 클라이언트의 IPv4 주소를 지정하는 유니코드 문자열을 포함하는 배열입니다. 이 문자열의 형식은 "a.b.c.d"입니다. wszAddress 는 dwIPv4NegotiationError 가 0인 경우에만 유효합니다.
wszRemoteAddress[IPADDRESSLEN + 1]
원격 서버의 IPv4 주소를 지정하는 유니코드 문자열을 포함하는 배열입니다. 이 문자열의 형식은 "a.b.c.d"입니다. wszRemoteAddress 는 dwIPv4NegotiationError 가 0인 경우에만 유효합니다. 주소를 사용할 수 없는 경우 이 멤버는 빈 문자열입니다.
dwIPv4Options
로컬 클라이언트에 대한 IPCP 옵션을 지정하는 값입니다.
값 | 의미 |
---|---|
|
로컬 클라이언트에서 보낸 IP 데이터그램이 Van Jacobson 압축을 사용하여 압축됨을 나타냅니다. |
dwIPv4RemoteOptions
원격 서버에 대한 IPCP 옵션을 지정하는 값입니다.
값 | 의미 |
---|---|
|
원격 서버에서 보낸 IP 데이터그램(즉, 로컬 컴퓨터에서 수신)이 Van Jacobson 압축을 사용하여 압축됨을 나타냅니다. |
IPv4SubInterfaceIndex
서버의 연결에 해당하는 IPv4 하위 인덱스를 지정하는 값입니다.
dwIPv6NegotiationError
PPP IPv6 네트워크 제어 프로토콜 협상 결과를 지정하는 값입니다. 값이 0이면 Ipv6이 성공적으로 협상되었음을 나타냅니다. 0이 아닌 값은 실패를 나타내며 제어 프로토콜 협상 중에 발생한 치명적인 오류입니다.
bInterfaceIdentifier[8]
클라이언트의 64비트 IPv6 인터페이스 식별자를 지정하는 배열입니다. 128비트 IPv6 인터넷 주소의 마지막 64비트 는 이전 64비트에서 강력한 수준의 고유성을 제공하는 "인터페이스 식별자"로 간주됩니다. bInterfaceIdentifier 는 dwIPv6NegotiationError 가 0이고 0이 아니어야 하는 경우에만 유효합니다.
bRemoteInterfaceIdentifier[8]
서버의 64비트 IPv6 인터페이스 식별자를 지정하는 배열입니다. 128비트 IPv6 인터넷 주소의 마지막 64비트 는 이전 64비트에서 강력한 수준의 고유성을 제공하는 "인터페이스 식별자"로 간주됩니다. bInterfaceIdentifier 는 dwIPv6NegotiationError 가 0이고 0이 아니어야 하는 경우에만 유효합니다.
bPrefix[8]
클라이언트 인터페이스 IPv6 주소 접두사를 지정하는 값입니다.
dwPrefixLength
bPrefix의 길이(비트)를 지정하는 값입니다.
IPv6SubInterfaceIndex
서버의 연결에 해당하는 IPv6 하위 표면 인덱스를 지정하는 값입니다.
dwLcpError
PPP LCP 협상 결과를 지정하는 값입니다. 값이 0이면 LCP가 성공적으로 협상되었음을 나타냅니다. 0이 아닌 값은 실패를 나타내며 제어 프로토콜 협상 중에 발생한 치명적인 오류입니다.
dwAuthenticationProtocol
로컬 클라이언트를 인증하는 데 사용되는 인증 프로토콜을 지정하는 값입니다. 이 멤버는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
암호 인증 프로토콜. |
|
핸드셰이크 인증 프로토콜에 도전합니다. |
|
확장 가능한 인증 프로토콜입니다. |
dwAuthenticationData
dwAuthenticationProtocol에서 지정한 인증 프로토콜에 대한 추가 정보를 지정하는 값입니다. 이 멤버는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
MD5 CHAP |
|
Microsoft CHAP. |
|
Microsoft CHAP 버전 2. |
dwRemoteAuthenticationProtocol
원격 서버를 인증하는 데 사용되는 인증 프로토콜을 지정하는 값입니다. dwAuthenticationProtocol 및 dwRemoteAuthenticationProtocol 은 수요 다이얼이 클라이언트와 서버에서 서로 다른 인증 프로토콜을 사용하는 경우 다릅니다. 이 멤버는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
암호 인증 프로토콜. |
|
핸드셰이크 인증 프로토콜에 도전합니다. |
|
확장 가능한 인증 프로토콜입니다. |
dwRemoteAuthenticationData
dwRemoteAuthenticationProtocol에서 지정한 인증 프로토콜에 대한 추가 정보를 지정하는 값입니다. dwAuthenticationData 및 dwRemoteAuthenticationData 는 수요 다이얼이 클라이언트와 서버에서 서로 다른 인증 프로토콜을 사용하는 경우 다릅니다. 이 멤버는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
MD5 CHAP. |
|
Microsoft CHAP. |
|
Microsoft CHAP 버전 2. |
dwLcpTerminateReason
다음에 사용하도록 예약됩니다. 0이어야 합니다.
dwLcpRemoteTerminateReason
다음에 사용하도록 예약됩니다. 0이어야 합니다.
dwLcpOptions
로컬 클라이언트에서 사용 중인 LCP 옵션에 대한 정보를 지정하는 값입니다. 이 멤버는 다음 플래그의 조합입니다.
값 | 의미 |
---|---|
|
연결에서 멀티링크를 사용하고 있습니다. |
|
연결에서 프로토콜 필드 압축(RFC 1172)을 사용하고 있습니다. |
|
연결에서 주소 및 제어 필드 압축(RFC 1172)을 사용합니다. |
|
연결에서 짧은 시퀀스 번호 헤더 형식을 사용합니다(RFC 1990 참조). |
|
연결에서 DES 56비트 암호화를 사용하고 있습니다. |
|
연결에서 Triple DES Encryption을 사용하고 있습니다. |
|
연결에서 128비트 AES 암호화를 사용하고 있습니다. |
|
연결에서 256비트 AES 암호화를 사용하고 있습니다. |
dwLcpRemoteOptions
원격 서버에서 사용 중인 LCP 옵션에 대한 정보를 지정하는 값입니다. 이 멤버는 다음 플래그의 조합입니다.
값 | 의미 |
---|---|
|
연결에서 멀티링크를 사용하고 있습니다. |
|
연결에서 프로토콜 필드 압축(RFC 1172)을 사용하고 있습니다. |
|
연결에서 주소 및 제어 필드 압축(RFC 1172)을 사용합니다. |
|
연결에서 짧은 시퀀스 번호 헤더 형식을 사용합니다(RFC 1990 참조). |
|
연결에서 DES 56비트 암호화를 사용하고 있습니다. |
|
연결에서 Triple DES Encryption을 사용하고 있습니다. |
|
연결에서 128비트 AES 암호화를 사용하고 있습니다. |
|
연결에서 256비트 AES 암호화를 사용하고 있습니다. |
dwEapTypeId
로컬 클라이언트를 인증하는 데 사용되는 EAP(Extensible Authentication Protocol)의 형식 식별자를 지정하는 값입니다. 이 멤버의 값은 dwAuthenticationProtocol 이 PPP_LCP_EAP 경우에만 유효합니다.
dwRemoteEapTypeId
원격 서버를 인증하는 데 사용되는 EAP(Extensible Authentication Protocol)의 형식 식별자를 지정하는 값입니다. 이 멤버의 값은 dwRemoteAuthenticationProtocol 이 PPP_LCP_EAP 경우에만 유효합니다.
dwCcpError
PPP CCP 협상 결과를 지정하는 값입니다. 값이 0이면 CCP가 성공적으로 협상되었음을 나타냅니다. 0이 아닌 값은 실패를 나타내며 제어 프로토콜 협상 중에 발생한 치명적인 오류입니다.
dwCompressionAlgorithm
로컬 클라이언트에서 사용하는 압축 알고리즘을 지정하는 값입니다. 다음 표에서는 이 멤버에 대해 가능한 값을 보여 있습니다.
값 | 의미 |
---|---|
|
MICROSOFT MPPC(지점 간 압축) 프로토콜(RFC 2118). |
|
STAC 옵션 4(RFC 1974). |
dwCcpOptions
로컬 클라이언트에서 사용할 수 있는 압축 유형을 지정하는 값입니다. 다음과 같은 형식이 지원됩니다.
마지막 세 가지 옵션은 L2TP(계층 2 터널링 프로토콜)를 통해 연결이 이루어지고 연결에서 IPSec 암호화를 사용하는 경우에 사용됩니다.
dwRemoteCompressionAlgorithm
원격 서버에서 사용하는 압축 알고리즘을 지정하는 값입니다. 지원되는 알고리즘은 다음과 같습니다.
값 | 의미 |
---|---|
|
MPPC(Microsoft 지점 간 압축) 프로토콜( RFC 2118). |
|
STAC 옵션 4( RFC 1974). |
dwCcpRemoteOptions
원격 서버에서 사용할 수 있는 압축 유형을 지정하는 값입니다. 다음과 같은 형식이 지원됩니다.
마지막 세 가지 옵션은 L2TP(계층 2 터널링 프로토콜)를 통해 연결이 이루어지고 연결에서 IPSec 암호화를 사용하는 경우에 사용됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | 지원되는 버전 없음 |
지원되는 최소 서버 | Windows Server 2008 R2 [데스크톱 앱만 해당] |
머리글 | mprapi.h |