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


Функция RtlIpv4AddressToStringExW (ip2string.h)

Функция RtlIpv4AddressToStringEx преобразует IPv4-адрес и номер порта в строку в стандартном формате Интернета.

Синтаксис

NTSYSAPI NTSTATUS RtlIpv4AddressToStringExW(
  [in]      const in_addr *Address,
  [in]      USHORT        Port,
  [out]     PWSTR         AddressString,
  [in, out] PULONG        AddressStringLength
);

Параметры

[in] Address

Адрес IPv4 в порядке байтов сети.

[in] Port

Номер порта в формате порядка байтов сети. Это необязательный параметр.

[out] AddressString

Указатель на буфер для получения строкового представления IPv4-адреса и порта, завершаемого значением NULL. Этот буфер должен быть достаточно большим, чтобы содержать по крайней мере INET_ADDRSTRLEN символов. Значение INET_ADDRSTRLEN определяется в файле заголовка Ws2ipdef.h .

[in, out] AddressStringLength

Во входных данных число символов, которые помещаются в буфер, на который указывает параметр AddressString , включая терминатор NULL. В выходных данных этот параметр содержит количество символов, фактически записанных в буфер, на который указывает параметр AddressString .

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение STATUS_SUCCESS.

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

Код возврата Description
СТАТУС_НЕДЕЙСТВИТЕЛЬНЫЙ_ПАРАМЕТР
Недопустимый параметр был передан функции. Эта ошибка возвращается, если указатель NULL передается в параметре AddressString или AddressStringLength. Эта ошибка также возвращается, если длина буфера, на которую указывает параметр AddressString , недостаточно велика, чтобы получить строковое представление адреса и порта IPv4.
Другое
Используйте FormatMessage , чтобы получить строку сообщения для возвращаемой ошибки.

Замечания

Функция RtlIpv4AddressToStringEx используется для преобразования IPv4-адреса и номера порта в строковое представление IPv4-адреса в формате с точками в Интернете, за которым следует символ двоеточия и строковое представление порта.

RtlIpv4AddressToStringEx — это удобная функция, которая не требует загрузки библиотеки DLL сокетов Windows для доступа к функции, предоставленной в сокетах Windows, для выполнения преобразования IP-адресов в строку.

Если длина буфера, на которую указывает параметр AddressString , недостаточно велика, чтобы получить строковое представление адреса и порта IPv4, RtlIpv4AddressToStringEx возвращает ERROR_INVALID_PARAMETER и задает параметр AddressStringLength требуемой длины буфера.

При определении ЮНИКОДа или _UNICODE RtlIpv4AddressToStringEx определяется в RtlIpv4AddressToStringExW, версия Юникода этой функции. Параметр AddressString определяется для типа данных PWSTR.

Если юникод и _UNICODE не определены, RtlIpv4AddressToStringEx определяется для RtlIpv4AddressToStringExA, версия ANSI этой функции. Параметр AddressString определен для типа данных PSTR.

Структура IN_ADDR определена в файле заголовка Inaddr.h .

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows Vista [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2008 [классические приложения | Приложения UWP]
целевая платформа Windows
Header ip2string.h (include Mstcpip.h)
Library ntdll.lib
DLL ntdll.dll

См. также

GetModuleHandle

GetProcAddress

InetNtop

InetPton

LoadLibrary

RtlIpv4AddressToString

RtlIpv4StringToAddress

RtlIpv4StringToAddressEx

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

RtlIpv6StringToAddress

RtlIpv6StringToAddressEx

inet_addr

inet_ntoa