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


Функция 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.

Если функция завершается сбоем, возвращается один из следующих кодов ошибок.

Код возврата Описание
STATUS_INVALID_PARAMETER
В функцию передан недопустимый параметр. Эта ошибка возвращается, если строка, на которую указывает параметр 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

См. также раздел

GetModuleHandle

Функция GetProcAddress

IN6_ADDR

InetNtop

InetPton

LoadLibrary

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

RtlIpv4StringToAddress

RtlIpv4StringToAddressEx

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

RtlIpv6StringToAddress

inet_addr

inet_ntoa