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