다음을 통해 공유


PPP_PROJECTION_INFO2 구조체(mprapi.h)

SSTP(Secure Socket Tunneling Protocol), PPTP(지점 간 터널링 프로토콜) 및 L2TP(계층 2 터널링 프로토콜)에 대한 PPP(지점 간) 협상 중에 얻은 정보를 포함합니다.

구문

typedef struct _PPP_PROJECTION_INFO2 {
  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   dwEmbeddedEAPTypeId;
  DWORD   dwRemoteEapTypeId;
  DWORD   dwCcpError;
  DWORD   dwCompressionAlgorithm;
  DWORD   dwCcpOptions;
  DWORD   dwRemoteCompressionAlgorithm;
  DWORD   dwCcpRemoteOptions;
} PPP_PROJECTION_INFO2, *PPPP_PROJECTION_INFO2;

멤버

dwIPv4NegotiationError

PPP IPv4 네트워크 제어 프로토콜 협상 결과를 지정하는 값입니다. 값이 0이면 IPv4가 성공적으로 협상되었음을 나타냅니다. 0이 아닌 값은 실패를 나타내며 제어 프로토콜 협상 중에 발생한 치명적인 오류도 나타냅니다.

wszAddress[IPADDRESSLEN + 1]

로컬 클라이언트의 IPv4 주소를 지정하는 null로 종료된 유니코드 문자열입니다. 이 문자열에는 "a.b.c.d" 형식이 있습니다. wszAddress 멤버는 dwIPv4NegotiationError가 0인 경우에만 유효합니다.

wszRemoteAddress[IPADDRESSLEN + 1]

원격 서버의 IPv4 주소를 지정하는 유니코드 문자열을 포함하는 배열입니다. 이 문자열에는 "a.b.c.d" 형식이 있습니다. wszRemoteAddress 멤버는 dwIPv4NegotiationError 멤버가 0인 경우에만 유효합니다. 주소를 사용할 수 없는 경우 이 멤버는 빈 문자열입니다.

dwIPv4Options

로컬 클라이언트에 대한 IPCP 옵션을 지정하는 값입니다.

의미
PPP_IPCP_VJ
로컬 클라이언트에서 보낸 IP 데이터그램이 Van Jacobson 압축을 사용하여 압축됨을 나타냅니다.

dwIPv4RemoteOptions

원격 서버에 대한 IPCP 옵션을 지정하는 값입니다.

의미
PPP_IPCP_VJ
원격 서버에서 보낸 IP 데이터그램(즉, 로컬 컴퓨터에서 수신)이 Van Jacobson 압축을 사용하여 압축됨을 나타냅니다.

IPv4SubInterfaceIndex

서버의 연결에 해당하는 IPv4 하위 표면 인덱스를 지정하는 값입니다.

dwIPv6NegotiationError

PPP IPv6 네트워크 제어 프로토콜 협상 결과를 지정하는 값입니다. 값이 0이면 Ipv6이 성공적으로 협상되었음을 나타냅니다. 0이 아닌 값은 실패를 나타내며 제어 프로토콜 협상 중에 발생한 치명적인 오류입니다.

bInterfaceIdentifier[8]

클라이언트의 64비트 IPv6 인터페이스 식별자를 지정하는 배열입니다. 128비트 IPv6 인터넷 주소의 마지막 64비트 는 이전 64비트에서 강력한 수준의 고유성을 제공하는 인터페이스 식별자로 간주됩니다. bInterfaceIdentifier 멤버는 0이 아니어야 하며 dwIPv6NegotiationError 멤버가 0인 경우에만 유효합니다.

bRemoteInterfaceIdentifier[8]

서버의 64비트 IPv6 인터페이스 식별자를 지정하는 배열입니다. 128비트 IPv6 인터넷 주소의 마지막 64비트 는 이전 64비트에서 강력한 수준의 고유성을 제공하는 인터페이스 식별자로 간주됩니다. bInterfaceIdentifier 멤버는 0이 아니어야 하며 dwIPv6NegotiationError 멤버가 0인 경우에만 유효합니다.

bPrefix[8]

클라이언트 인터페이스 IPv6 주소 접두사를 지정하는 값입니다.

dwPrefixLength

bPrefix 멤버의 길이(비트)를 지정하는 값입니다.

IPv6SubInterfaceIndex

서버의 연결에 해당하는 IPv6 하위 표면 인덱스를 지정하는 값입니다.

dwLcpError

PPP LCP 협상 결과를 지정하는 값입니다. 값이 0이면 LCP가 성공적으로 협상되었음을 나타냅니다. 0이 아닌 값은 실패를 나타내며 제어 프로토콜 협상 중에 발생한 치명적인 오류를 나타냅니다.

dwAuthenticationProtocol

로컬 클라이언트를 인증하는 데 사용되는 인증 프로토콜을 지정하는 값입니다. 이 멤버는 다음 값 중 하나일 수 있습니다.

의미
PPP_LCP_PAP
암호 인증 프로토콜
PPP_LCP_CHAP
챌린지 핸드셰이크 인증 프로토콜
PPP_LCP_EAP
확장할 수 있는 인증 프로토콜

dwAuthenticationData

dwAuthenticationProtocol 멤버가 지정한 인증 프로토콜에 대한 추가 정보를 지정하는 값입니다. 이 멤버는 다음 값 중 하나일 수 있습니다.

의미
PPP_LCP_CHAP_MD5
MD5 CHAP
PPP_LCP_CHAP_MS
Microsoft CHAP
PPP_LCP_CHAP_MSV2
Microsoft CHAP 버전 2

dwRemoteAuthenticationProtocol

원격 서버를 인증하는 데 사용되는 인증 프로토콜을 지정하는 값입니다. dwAuthenticationProtocol 멤버와 dwRemoteAuthenticationProtocol 멤버는 요청 다이얼이 클라이언트와 서버에서 서로 다른 인증 프로토콜을 사용하는 경우 다릅니다. 이 멤버는 다음 값 중 하나일 수 있습니다.

의미
PPP_LCP_PAP
암호 인증 프로토콜
PPP_LCP_CHAP
챌린지 핸드셰이크 인증 프로토콜
PPP_LCP_EAP
확장할 수 있는 인증 프로토콜

dwRemoteAuthenticationData

dwRemoteAuthenticationProtocol 멤버가 지정한 인증 프로토콜에 대한 추가 정보를 지정하는 값입니다. dwAuthenticationData 멤버와 dwRemoteAuthenticationData 멤버는 요청 다이얼이 클라이언트와 서버에서 서로 다른 인증 프로토콜을 사용하는 경우 다릅니다. 이 멤버는 다음 값 중 하나일 수 있습니다.

의미
PPP_LCP_CHAP_MD5
MD5 CHAP
PPP_LCP_CHAP_MS
Microsoft CHAP
PPP_LCP_CHAP_MSV2
Microsoft CHAP 버전 2

dwLcpTerminateReason

구현되지 않았습니다. 0이어야 합니다.

dwLcpRemoteTerminateReason

구현되지 않았습니다. 0이어야 합니다.

dwLcpOptions

로컬 클라이언트에서 사용 중인 LCP 옵션에 대한 정보를 지정하는 값입니다. 이 멤버는 다음 플래그의 조합입니다.

의미
PPP_LCP_MULTILINK_FRAMING
연결에서 멀티링크를 사용하고 있습니다.
PPP_LCP_PFC
연결에서 프로토콜 필드 압축을 사용하고 있습니다.
PPP_LCP_ACFC
연결에서 주소 및 제어 필드 압축을 사용하고 있습니다.
PPP_LCP_SSHF
연결에서 짧은 시퀀스 번호 헤더 형식을 사용하고 있습니다.
PPP_LCP_DES_56
연결에서 DES 56비트 암호화를 사용하고 있습니다.
PPP_LCP_3_DES
연결에서 Triple DES Encryption을 사용하고 있습니다.
PPP_LCP_AES_128
연결에서 128비트 AES 암호화를 사용하고 있습니다.
PPP_LCP_AES_256
연결에서 256비트 AES 암호화를 사용하고 있습니다.

dwLcpRemoteOptions

원격 서버에서 사용 중인 LCP 옵션에 대한 정보를 지정하는 값입니다. 이 멤버는 다음 플래그의 조합입니다.

의미
PPP_LCP_MULTILINK_FRAMING
연결에서 멀티링크를 사용하고 있습니다.
PPP_LCP_PFC
연결에서 프로토콜 필드 압축을 사용하고 있습니다.
PPP_LCP_ACFC
연결에서 주소 및 제어 필드 압축을 사용하고 있습니다.
PPP_LCP_SSHF
연결에서 짧은 시퀀스 번호 헤더 형식을 사용하고 있습니다.
PPP_LCP_DES_56
연결에서 DES 56비트 암호화를 사용하고 있습니다.
PPP_LCP_3_DES
연결에서 Triple DES Encryption을 사용하고 있습니다.
PPP_LCP_AES_128
연결에서 128비트 AES 암호화를 사용하고 있습니다.
PPP_LCP_AES_256
연결에서 256비트 AES 암호화를 사용하고 있습니다.

dwEapTypeId

로컬 클라이언트를 인증하는 데 사용되는 EAP(Extensible Authentication Protocol)의 형식 식별자를 지정하는 값입니다. 이 멤버의 값은 dwAuthenticationProtocol 멤버가 PPP_LCP_EAP 경우에만 유효합니다.

dwEmbeddedEAPTypeId

EAP 인증에 사용되는 내부 EAP 메서드의 형식 식별자를 지정하는 값입니다. 이 멤버의 값은 dwEapTypeId 멤버가 IANA-EAP에 정의된 PEAP로 설정된 경우에만 유효합니다.

dwRemoteEapTypeId

원격 서버를 인증하는 데 사용되는 EAP(Extensible Authentication Protocol)의 형식 식별자를 지정하는 값입니다. 이 멤버의 값은 dwRemoteAuthenticationProtocol 멤버가 PPP_LCP_EAP 경우에만 유효합니다.

dwCcpError

PPP CCP 협상 결과를 지정하는 값입니다. 값이 0이면 CCP가 성공적으로 협상되었음을 나타냅니다. 0이 아닌 값은 실패를 나타내며 제어 프로토콜 협상 중에 발생한 치명적인 오류를 나타냅니다.

dwCompressionAlgorithm

로컬 클라이언트에서 사용하는 압축 알고리즘을 지정하는 값입니다. 다음 표에서는 이 멤버에 대해 가능한 값을 보여 있습니다.

의미
RASCCPCA_MPPC
MPPC(Microsoft 지점 간 압축) 프로토콜.
RASCCPCA_STAC
STAC 옵션 4.

dwCcpOptions

로컬 클라이언트에서 사용할 수 있는 압축 유형을 지정하는 값입니다. 지원되는 유형은 다음과 같습니다.

의미
PPP_CCP_COMPRESSION
암호화 없이 압축.
PPP_CCP_HISTORYLESS
상태 비정상 모드의 MPPE(Microsoft Point-to-Point Encryption). 세션 키는 모든 패킷 후에 변경됩니다. 이 모드는 대기 시간이 긴 네트워크 또는 상당한 패킷 손실을 경험하는 네트워크에서 성능을 향상시킵니다.
PPP_CCP_ENCRYPTION40BITOLD
40비트 키를 사용한 MPPE 압축.
PPP_CCP_ENCRYPTION40BIT
40비트 키를 사용한 MPPE 압축.
PPP_CCP_ENCRYPTION56BIT
56비트 키를 사용한 MPPE 압축.
PPP_CCP_ENCRYPTION128BIT
128비트 키를 사용한 MPPE 압축.
 

마지막 세 가지 옵션은 L2TP(계층 2 터널링 프로토콜)를 통해 연결이 이루어지고 연결에서 IPSec 암호화를 사용하는 경우에 사용됩니다.

dwRemoteCompressionAlgorithm

원격 서버에서 사용하는 압축 알고리즘을 지정하는 값입니다. 지원되는 알고리즘은 다음과 같습니다.

의미
RASCCPCA_MPPC
MPPC(Microsoft 지점 간 압축) 프로토콜.
RASCCPCA_STAC
STAC 옵션 4.

dwCcpRemoteOptions

원격 서버에서 사용할 수 있는 압축 유형을 지정하는 값입니다. 지원되는 유형은 다음과 같습니다.

의미
PPP_CCP_COMPRESSION
암호화 없이 압축.
PPP_CCP_HISTORYLESS
상태 비정상 모드의 MPPE(Microsoft Point-to-Point Encryption). 세션 키는 모든 패킷 후에 변경됩니다. 이 모드는 대기 시간이 긴 네트워크 또는 상당한 패킷 손실을 경험하는 네트워크에서 성능을 향상시킵니다.
PPP_CCP_ENCRYPTION40BITOLD
40비트 키를 사용한 MPPE 압축.
PPP_CCP_ENCRYPTION40BIT
40비트 키를 사용한 MPPE 압축.
PPP_CCP_ENCRYPTION56BIT
56비트 키를 사용한 MPPE 압축.
PPP_CCP_ENCRYPTION128BIT
128비트 키를 사용한 MPPE 압축.
ERROR_PPP_NOT_CONVERGING
원격 컴퓨터와 RRAS가 주소 협상에 수렴할 수 없습니다.
 

마지막 세 가지 옵션은 L2TP(계층 2 터널링 프로토콜)를 통해 연결이 이루어지고 연결에서 IPSec 암호화를 사용하는 경우에 사용됩니다.

요구 사항

   
지원되는 최소 클라이언트 지원되는 버전 없음
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱만 해당]
머리글 mprapi.h