Функция WSAHtonl (winsock2.h)
Функция WSAHtonl преобразует u_long из порядка байтов узла в порядок байтов сети.
Синтаксис
int WSAAPI WSAHtonl(
[in] SOCKET s,
[in] u_long hostlong,
[out] u_long *lpnetlong
);
Параметры
[in] s
Дескриптор, определяющий сокет.
[in] hostlong
32-разрядное число в порядке байтов узла.
[out] lpnetlong
Указатель на 32-разрядное число для получения номера в сетевом порядке байтов.
Возвращаемое значение
Если ошибка не возникает, WSAHtonl возвращает ноль. В противном случае возвращается значение SOCKET_ERROR, а определенный код ошибки можно получить, вызвав WSAGetLastError.
Код ошибки | Значение |
---|---|
Перед использованием этой функции должен произойти успешный вызов WSAStartup . | |
Произошел сбой сетевой подсистемы. | |
Дескриптор не является сокетом. | |
Параметр lpnetlong имеет значение NULL или адрес, на который указывает, не полностью содержится в допустимой части адресного пространства пользователя. |
Комментарии
Функция WSAHtonl принимает 32-разрядное число в порядке байтов узла и возвращает 32-разрядное число в сетевом байтовом порядке в 32-разрядном номере, на которое указывает параметр lpnetlong . Сокет, переданный в параметре s, используется для определения требуемого порядка сетевых байтов на основе записи протокола каталога Winsock, связанной с сокетом. Эта функция поддерживает поставщиков Winsock, которые используют различные сетевые заказы байтов.
Если сокет предназначен для семейства AF_INET или AF_INET6 адресов, функция WSAHtonl может использоваться для преобразования адреса IPv4 в порядке байтов узла в IPv4-адрес в порядке байтов сети. Эта функция не проверяет, является ли параметр hostlong допустимым IPv4-адресом.
Для функции WSAHtonl требуется, чтобы библиотека DLL Winsock ранее была загружена с успешным вызовом функции WSAStartup . Для использования с семейством AF_INET или AF_INET6 функция htonl не требует загрузки библиотеки DLL Winsock.
Windows Phone 8. Эта функция поддерживается для приложений Магазина Windows Phone на Windows Phone 8 и более поздних версиях.
Windows 8.1 и Windows Server 2012 R2: эта функция поддерживается для приложений Магазина Windows на Windows 8.1, Windows Server 2012 R2 и более поздних версий.
Требования
Минимальная версия клиента | Windows 8.1, Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | winsock2.h |
Библиотека | Ws2_32.lib |
DLL | Ws2_32.dll |