Функция 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.
Если функция завершается сбоем, возвращаемое значение представляет собой один из следующих кодов ошибок.
Код возврата | Описание |
---|---|
|
В функцию передан недопустимый параметр. Эта ошибка возвращается, если в параметре AddressString или AddressStringLength передается указатель NULL. Эта ошибка также возвращается, если длина буфера, на который указывает параметр AddressString , недостаточно велика для получения строкового представления IPv4-адреса и порта. |
|
Используйте FormatMessage , чтобы получить строку сообщения для возвращенной ошибки. |
Комментарии
Функция RtlIpv4AddressToStringEx используется для преобразования IPv4-адреса и номера порта в строковое представление IPv4-адреса в интернет-пунктирном десятичном формате, за которым следует двоеточие и строковое представление порта.
RtlIpv4AddressToStringEx — это удобная функция, которая не требует загрузки библиотеки DLL windows для доступа к функции, предоставленной в windows Sockets, для выполнения преобразования IP-адреса в строку.
Если длина буфера, на который указывает параметр AddressString , недостаточно велика для получения строкового представления IPv4-адреса и порта, RtlIpv4AddressToStringEx возвращает ERROR_INVALID_PARAMETER и задает параметру AddressStringLength необходимую длину буфера.
Если определен юникод или _UNICODE, RtlIpv4AddressToStringEx определяется как RtlIpv4AddressToStringExW, версия Юникода этой функции. Параметр AddressString определяется для типа данных PWSTR.
Если и UNICODE, и _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) |
Библиотека | ntdll.lib |
DLL | ntdll.dll |