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


Сводка кодов операций сокета ioctl

В следующей таблице приведены некоторые коды операций IOCTL для windows Sockets 2. Более подробные сведения см. в справочнике по Winsock IOCTLs и функции WSPIoctl . Существуют и другие новые коды операций IOCTL для конкретного протокола, которые можно найти в приложении для конкретного протокола.

Полный список ioCTL Winsock доступен в справочнике по Winsock.

Код операции Тип входных данных Тип выходных данных Значение
FIONBIO Unsigned long <Не используется> Включает или отключает режим неблокировки в сокете.
FIONREAD <Не используется> Unsigned long Определяет объем данных, которые можно считывать атомарным образом из сокета.
SIOCATMARK <Не используется> BOOL Определяет, были ли считаны все данные OOB.
SIO_ASSOCIATE_HANDLE Зависимость от API-компаньона <Не используется> Связывает сокет с указанным дескриптором интерфейса-компаньона.
SIO_ENABLE_CIRCULAR_QUEUEING <Не используется> <Не используется> Включает циклическую очередь.
SIO_FIND_ROUTE Структура sockaddr <Не используется> Запрашивает маршрут по указанному адресу для обнаружения.
SIO_FLUSH <Не используется> <Не используется> Удаляет текущее содержимое очереди отправки.
SIO_GET_BROADCAST_ADDRESS <Не используется> Структура sockaddr Извлекает адрес широковещательной рассылки для конкретного протокола, который будет использоваться в WSPSendTo.
SIO_GET_QOS <Не используется> QOS Извлекает текущие спецификации потока для сокета.
SIO_GET_GROUP_QOS <Не используется> QOS Зарезервировано.
SIO_MULTIPOINT_LOOPBACK BOOL <Не используется> Определяет, будут ли данные, отправленные в сеансе с несколькими точками, также получаться тем же сокетом на локальном узле.
SIO_MULTICAST_SCOPE INT <Не используется> Указывает область, по которым будет осуществляться многоадресная рассылка.
SIO_SET_QOS QOS <Не используется> Устанавливает новые спецификации потока для сокета.
SIO_SET_GROUP_QOS QOS <Не используется> Зарезервировано.
SIO_TRANSLATE_HANDLE INT Зависимость от API-компаньона Получает соответствующий дескриптор для сокетов , допустимый в контексте интерфейса-компаньона.
SIO_ROUTING_INTERFACE_QUERY sockaddr sockaddr Получает адрес локального интерфейса, который следует использовать для отправки на указанный адрес.
SIO_ROUTING_INTERFACE_CHANGE sockaddr <Не используется> Запрашивает уведомление об изменениях в информации, сообщаемой через SIO_ROUTING_INTERFACE_QUERY для указанного адреса.
SIO_ADDRESS_LIST_QUERY <Не используется> SOCKET_ADDRESS Получает список локальных транспортных адресов семейства протоколов сокета, к которым может привязаться приложение. Список адресов зависит от семейства адресов, а некоторые адреса исключаются из списка.
SIO_ADDRESS_LIST_CHANGE <Не используется> <Не используется> Запрашивает уведомление об изменениях в информации, сообщаемой через SIO_ADDRESS_LIST_QUERY
SIO_QUERY_PNP_TARGET_HANDLE <Не используется> СОКЕТА Получает дескриптор сокета следующего поставщика в цепочке, от которого зависит текущий сокет в отношении PnP.

Winsock IOCTLs

WSPIoctl