다음을 통해 공유


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"입니다. wszAddressdwIPv4NegotiationError 가 0인 경우에만 유효합니다.

wszRemoteAddress[IPADDRESSLEN + 1]

원격 서버의 IPv4 주소를 지정하는 유니코드 문자열을 포함하는 배열입니다. 이 문자열의 형식은 "a.b.c.d"입니다. wszRemoteAddressdwIPv4NegotiationError 가 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비트에서 강력한 수준의 고유성을 제공하는 "인터페이스 식별자"로 간주됩니다. bInterfaceIdentifierdwIPv6NegotiationError 가 0이고 0이 아니어야 하는 경우에만 유효합니다.

bRemoteInterfaceIdentifier[8]

서버의 64비트 IPv6 인터페이스 식별자를 지정하는 배열입니다. 128비트 IPv6 인터넷 주소의 마지막 64비트 는 이전 64비트에서 강력한 수준의 고유성을 제공하는 "인터페이스 식별자"로 간주됩니다. bInterfaceIdentifierdwIPv6NegotiationError 가 0이고 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

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

의미
PPP_LCP_PAP
암호 인증 프로토콜.
PPP_LCP_CHAP
핸드셰이크 인증 프로토콜에 도전합니다.
PPP_LCP_EAP
확장 가능한 인증 프로토콜입니다.

dwRemoteAuthenticationData

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

의미
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
연결에서 프로토콜 필드 압축(RFC 1172)을 사용하고 있습니다.
PPP_LCP_ACFC
연결에서 주소 및 제어 필드 압축(RFC 1172)을 사용합니다.
PPP_LCP_SSHF
연결에서 짧은 시퀀스 번호 헤더 형식을 사용합니다(RFC 1990 참조).
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
연결에서 프로토콜 필드 압축(RFC 1172)을 사용하고 있습니다.
PPP_LCP_ACFC
연결에서 주소 및 제어 필드 압축(RFC 1172)을 사용합니다.
PPP_LCP_SSHF
연결에서 짧은 시퀀스 번호 헤더 형식을 사용합니다(RFC 1990 참조).
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)의 형식 식별자를 지정하는 값입니다. 이 멤버의 값은 dwAuthenticationProtocolPPP_LCP_EAP 경우에만 유효합니다.

dwRemoteEapTypeId

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

dwCcpError

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

dwCompressionAlgorithm

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

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

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 지점 간 압축) 프로토콜( RFC 2118).
RASCCPCA_STAC
STAC 옵션 4( RFC 1974).

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 2008 R2 [데스크톱 앱만 해당]
머리글 mprapi.h

추가 정보

라우터 관리 참조

라우터 관리 구조