Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция RtlIpv6StringToAddressEx преобразует строковое представление IPv6-адреса, идентификатора области и номера порта в двоичный IPv6-адрес, идентификатор области и порт.
Синтаксис
NTSYSAPI NTSTATUS RtlIpv6StringToAddressExW(
[in] PCWSTR AddressString,
[out] in6_addr *Address,
[out] PULONG ScopeId,
[out] PUSHORT Port
);
Параметры
[in] AddressString
Указатель на буфер, содержащий строковое представление адреса IPv6, идентификатора области и номера порта, завершаемого значением NULL.
[out] Address
Указатель, в котором должно храниться двоичное представление IPv6-адреса.
[out] ScopeId
Указатель на место хранения идентификатора области IPv6-адреса. Если параметр AddressString не содержит строковое представление идентификатора области, в этом параметре возвращается ноль.
[out] Port
Указатель, в котором хранится номер порта. Номер порта находится в формате порядка байтов сети. Если параметр AddressString не содержит строковое представление номера порта, в этом параметре возвращается ноль.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение STATUS_SUCCESS.
Если функция завершается ошибкой, возвращаемое значение является одним из следующих кодов ошибок.
| Код возврата | Description |
|---|---|
|
Недопустимый параметр был передан функции. Эта ошибка возвращается, если строка, на которую указывает параметр AddressString , не содержит правильное строковое представление адреса IPv6.
Этот код ошибки определен в файле заголовка Ntstatus.h. |
|
Используйте FormatMessage , чтобы получить строку сообщения для возвращаемой ошибки. |
Замечания
Функция RtlIpv6StringToAddressEx используется для преобразования строкового представления адреса IPv6, идентификатора области и номера порта в двоичный IPv6-адрес, идентификатор области и номер порта. Адрес IPv6 возвращается в сетевом порядке (байты, упорядоченные слева направо). Номер порта и идентификатор области возвращаются в сетевом порядке.
RtlIpv6StringToAddressEx — это удобная функция, которая не требует загрузки библиотеки DLL сокетов Windows для доступа к функции, предоставленной в сокетах Windows, для выполнения преобразования строк в IP-адрес.
Строка, на которую указывает параметр AddressString , должна быть представлена в форме строки адреса IPv6, за которой следует необязательный символ и строка идентификатора области. Строка идентификатора IPv6-адреса и области должна быть заключена в квадратные скобки. За правой квадратной скобкой после строки идентификатора IPv6-адреса и области может следовать необязательная двоеточие и строковое представление номера порта. Базовое строковое представление IPv6-адреса состоит из 8 шестнадцатеричных чисел, разделенных двоеточиями. Строка последовательных нулевых чисел может быть заменена двойной двоеточием. В строковом представлении IPv6-адреса может быть только одна двойная двоеточие. Последние 32 бита могут быть представлены в iPv4-style dotted-octet нотации, если адрес является IPv4-совместимым адресом, IPv4-сопоставленным IPv6-адресом или адресом ISATAP. Дополнительные сведения см. в разделе 5 RFC 5942 , опубликованном IETF.
При определении ЮНИКОДа или _UNICODE RtlIpv6StringToAddressEx определяется в RtlIpv6StringToAddressExW, версия Юникода этой функции. Параметр AddressString определен для типа данных PCWSTR.
Если юникод и _UNICODE не определены, RtlIpv6StringToAddressEx определяется в RtlIpv6StringToAddressExA, версия ANSI этой функции. Параметр AddressString определяется для типа данных PCSTR.
Структура IN6_ADDR определена в файле заголовка In6addr.h.
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент | Windows Vista [классические приложения | Приложения UWP] |
| минимальный поддерживаемый сервер | Windows Server 2008 [классические приложения | Приложения UWP] |
| целевая платформа | Windows |
| Header | ip2string.h (include Mstcpip.h) |
| Library | ntdll.lib |
| DLL | ntdll.dll |