Поделиться через


структура PPP_PROJECTION_INFO2 (mprapi.h)

Содержит сведения, полученные во время согласования "точка — точка" (PPP) для протокола SSTP, протокола PPTP и протокола туннелирования уровня 2 (L2TP).

Синтаксис

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. Ненулевое значение указывает на сбой, а также представляет неустранимую ошибку, которая произошла во время согласования протокола управления.

wszAddress[IPADDRESSLEN + 1]

Строка Юникода, завершающаяся значением NULL, которая указывает IPv4-адрес локального клиента. Эта строка имеет вид "a.b.c.d". Член wszAddress действителен, только если dwIPv4NegotiationError имеет значение 0.

wszRemoteAddress[IPADDRESSLEN + 1]

Массив, содержащий строку Юникода, которая указывает IPv4-адрес удаленного сервера. Эта строка имеет вид "a.b.c.d". Член wszRemoteAddress действителен, только если член dwIPv4NegotiationError равен нулю. Если адрес недоступен, этот элемент является пустой строкой.

dwIPv4Options

Значение типа , указывающее параметры IPCP для локального клиента.

Значение Значение
PPP_IPCP_VJ
Указывает, что ip-датаграммы, отправленные локальным клиентом, сжимаются с помощью сжатия Ван Джейкобсона.

dwIPv4RemoteOptions

Значение типа , указывающее параметры IPCP для удаленного сервера.

Значение Значение
PPP_IPCP_VJ
Указывает, что ip-датаграммы, отправленные удаленным сервером (то есть полученные локальным компьютером), сжимаются с помощью сжатия Ван Джейкобсона.

IPv4SubInterfaceIndex

Значение типа , указывающее подинтерфесный индекс IPv4, соответствующий соединению на сервере.

dwIPv6NegotiationError

Значение типа , указывающее результат согласования протокола управления сетью PPP IPv6. Значение , равное нулю, указывает, что ipv6 успешно согласован. Ненулевое значение указывает на сбой и является неустранимой ошибкой, которая произошла во время согласования протокола управления.

bInterfaceIdentifier[8]

Массив, указывающий идентификатор 64-разрядного интерфейса IPv6 клиента. Последние 64 бита 128-разрядного IPv6-адреса считаются идентификатором интерфейса, который обеспечивает высокий уровень уникальности для предыдущих 64 бит. Элемент bInterfaceIdentifier не должен иметь значение 0 и действителен только в том случае, если член dwIPv6NegotiationError равен 0.

bRemoteInterfaceIdentifier[8]

Массив, указывающий идентификатор 64-разрядного интерфейса IPv6 сервера. Последние 64 бита 128-разрядного IPv6-адреса считаются идентификатором интерфейса, который обеспечивает высокий уровень уникальности для предыдущих 64 бит. Элемент bInterfaceIdentifier не должен иметь значение 0 и действителен только в том случае, если член dwIPv6NegotiationError равен 0.

bPrefix[8]

Значение типа , указывающее префикс IPv6-адреса клиентского интерфейса.

dwPrefixLength

Значение типа , указывающее длину (в битах) элемента bPrefix .

IPv6SubInterfaceIndex

Значение типа , указывающее подинтерфесный индекс IPv6, соответствующий соединению на сервере.

dwLcpError

Значение типа , указывающее результат согласования PPP LCP. Значение, равное нулю, указывает на успешное согласование LCP. Ненулевое значение указывает на сбой и представляет неустранимую ошибку, которая произошла во время согласования протокола управления.

dwAuthenticationProtocol

Значение типа , указывающее протокол проверки подлинности, используемый для проверки подлинности локального клиента. Этот элемент может иметь одно из следующих значений.

Значение Значение
PPP_LCP_PAP
Протокол 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
Протокол 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
Подключение использует 56-разрядное шифрование DES.
PPP_LCP_3_DES
Соединение использует тройное шифрование DES.
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
Подключение использует 56-разрядное шифрование DES.
PPP_LCP_3_DES
Соединение использует тройное шифрование DES.
PPP_LCP_AES_128
Подключение использует 128-разрядное шифрование AES.
PPP_LCP_AES_256
Подключение использует 256-разрядное шифрование AES.

dwEapTypeId

Значение типа , указывающее идентификатор типа протокола EAP, используемого для проверки подлинности локального клиента. Значение этого элемента допустимо только в том случае, если элемент dwAuthenticationProtocolPPP_LCP_EAP.

dwEmbeddedEAPTypeId

Значение типа , указывающее идентификатор типа внутреннего метода EAP, используемого в проверке подлинности EAP. Значение этого элемента допустимо, только если для элемента dwEapTypeId задано значение PEAP, определенное в IANA-EAP.

dwRemoteEapTypeId

Значение типа , указывающее идентификатор типа протокола EAP, используемого для проверки подлинности удаленного сервера. Значение этого элемента допустимо, только если элемент dwRemoteAuthenticationProtocolPPP_LCP_EAP.

dwCcpError

Значение типа , указывающее результат согласования PPP CCP. Значение 0 указывает на успешное согласование CCP. Ненулевое значение указывает на сбой и представляет неустранимую ошибку, которая произошла во время согласования протокола управления.

dwCompressionAlgorithm

Значение типа , указывающее алгоритм сжатия, используемый локальным клиентом. В следующей таблице показаны возможные значения для этого элемента.

Значение Значение
RASCCPCA_MPPC
Протокол MICROSOFT MPPC.
RASCCPCA_STAC
STAC, вариант 4.

dwCcpOptions

Значение типа , указывающее типы сжатия, доступные на локальном клиенте. Поддерживаются следующие типы.

Значение Значение
PPP_CCP_COMPRESSION
Сжатие без шифрования.
PPP_CCP_HISTORYLESS
Шифрование "точка — точка" (Майкрософт) в режиме без отслеживания состояния. Ключ сеанса изменяется после каждого пакета. Этот режим повышает производительность сетей с высокой задержкой или сетей, которые испытывают значительную потерю пакетов.
PPP_CCP_ENCRYPTION40BITOLD
Сжатие MPPE с помощью 40-разрядных ключей.
PPP_CCP_ENCRYPTION40BIT
Сжатие MPPE с помощью 40-разрядных ключей.
PPP_CCP_ENCRYPTION56BIT
Сжатие MPPE с использованием 56-разрядных ключей.
PPP_CCP_ENCRYPTION128BIT
Сжатие MPPE с использованием 128-разрядных ключей.
 

Последние три варианта используются, когда соединение выполняется по протоколу L2TP и использует шифрование IPSec.

dwRemoteCompressionAlgorithm

Значение типа , указывающее алгоритм сжатия, используемый удаленным сервером. Поддерживаются следующие алгоритмы.

Значение Значение
RASCCPCA_MPPC
Протокол MICROSOFT MPPC.
RASCCPCA_STAC
STAC, вариант 4.

dwCcpRemoteOptions

Значение типа , указывающее типы сжатия, доступные на удаленном сервере. Поддерживаются следующие типы.

Значение Значение
PPP_CCP_COMPRESSION
Сжатие без шифрования.
PPP_CCP_HISTORYLESS
Шифрование "точка — точка" (Майкрософт) в режиме без отслеживания состояния. Ключ сеанса изменяется после каждого пакета. Этот режим повышает производительность сетей с высокой задержкой или сетей, которые испытывают значительную потерю пакетов.
PPP_CCP_ENCRYPTION40BITOLD
Сжатие MPPE с помощью 40-разрядных ключей.
PPP_CCP_ENCRYPTION40BIT
Сжатие MPPE с помощью 40-разрядных ключей.
PPP_CCP_ENCRYPTION56BIT
Сжатие MPPE с использованием 56-разрядных ключей.
PPP_CCP_ENCRYPTION128BIT
Сжатие MPPE с использованием 128-разрядных ключей.
ERROR_PPP_NOT_CONVERGING
Удаленный компьютер и RRAS не смогли сойтись при согласовании адресов.
 

Последние три варианта используются, когда соединение выполняется по протоколу L2TP и использует шифрование IPSec.

Требования

   
Минимальная версия клиента Ни одна версия не поддерживается
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Верхняя часть mprapi.h