Функция RtlIpv4AddressToStringExA (ip2string.h)
Функция RtlIpv4AddressToStringEx преобразует IPv4-адрес и номер порта в строку в стандартном для Интернета формате.
Синтаксис
NTSYSAPI NTSTATUS RtlIpv4AddressToStringExA(
[in] const in_addr *Address,
[in] USHORT Port,
[out] PSTR 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.
Если функция завершается сбоем, возвращается один из следующих кодов ошибок.
Код возврата | Описание |
---|---|
|
В функцию передан недопустимый параметр. Эта ошибка возвращается, если в параметре AddressString или AddressStringLength передается указатель NULL. Эта ошибка также возвращается, если длина буфера, на который указывает параметр 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 .
Библиотека импорта, содержащая функцию RtlIpv4AddressToStringEx, не входит в состав microsoft пакет средств разработки программного обеспечения для Windows (SDK), выпущенного для Windows Vista. Функция RtlIpv4AddressToStringEx входит в библиотеку импорта Ntdll.lib , включенную в комплект драйверов Windows (WDK). Приложение также может использовать функции GetModuleHandle и GetProcAddress для получения указателя функции из Ntdll.dll и вызова этой функции.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | ip2string.h (включая Mstcpip.h) |
DLL | Ntdll.dll |
См. также раздел
GetModuleHandle
Функция GetProcAddress
InetNtop
InetPton
LoadLibrary
RtlIpv4AddressToString
RtlIpv4StringToAddress
RtlIpv4StringToAddressEx
RtlIpv6AddressToString
RtlIpv6AddressToStringEx
RtlIpv6StringToAddress
RtlIpv6StringToAddressEx
inet_addr
inet_ntoa