IOControlCode Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Задает коды элементов управления ввода-вывода, поддерживаемые методом IOControl(Int32, Byte[], Byte[]).
public enum class IOControlCode
public enum IOControlCode
type IOControlCode =
Public Enum IOControlCode
- Наследование
Поля
| Имя | Значение | Описание |
|---|---|---|
| EnableCircularQueuing | 671088642 | Замените старую диаграмму данных очереди на входящие данные при заполнении входящих очередей сообщений. Это значение равно константе Winsock 2 SIO_ENABLE_CIRCULAR_QUEUEING. |
| Flush | 671088644 | Отмените содержимое очереди отправки. Это значение равно константе Winsock 2 SIO_FLUSH. |
| AddressListChange | 671088663 | Включите получение уведомления при изменении списка локальных интерфейсов для изменения семейства протоколов сокета. Это значение равно константе Winsock 2 SIO_ADDRESS_LIST_CHANGE. |
| DataToRead | 1074030207 | Возвращает количество байтов, доступных для чтения. Это значение равно константе Winsock 2 FIONREAD. |
| OobDataRead | 1074033415 | Возвращает сведения о внеполосных данных, ожидающих получения. При использовании этого кода элемента управления в сокетах потоков возвращаемое значение указывает количество доступных байтов. |
| GetBroadcastAddress | 1207959557 | Возвращает структуру SOCKADDR, содержащую широковещательный адрес для семейства адресов текущего сокета. Возвращаемый адрес можно использовать с методом SendTo . Это значение равно константе Winsock 2 SIO_GET_BROADCAST_ADDRESS. Это значение можно использовать только для сокетов протокола UDP. |
| AddressListQuery | 1207959574 | Возвращает список локальных интерфейсов, к которым может привязаться сокет. Это значение равно константе Winsock 2 SIO_ADDRESS_LIST_QUERY. |
| QueryTargetPnpHandle | 1207959576 | Получение дескриптора СОКЕТа базового поставщика. Этот дескриптор можно использовать для получения уведомлений о событиях подключаемых модулей и воспроизведения. Это значение равно константе Winsock 2 SIO_QUERY_TARGET_PNP_HANDLE. |
| AsyncIO | 2147772029 | Включите уведомление о том, когда данные ожидают получения. Это значение равно константе Winsock 2 FIOASYNC. |
| NonBlockingIO | 2147772030 | Управление поведением блокировки сокета. Если аргумент, указанный с этим кодом элемента управления, равен нулю, сокет помещается в режим блокировки. Если аргумент ненулевой, сокет помещается в режим неблокировки. Это значение равно константе Winsock 2 FIONBIO. |
| AssociateHandle | 2281701377 | Свяжите этот сокет с указанным дескриптором интерфейса компаньона. Дополнительные сведения см. в соответствующем приложении для конкретного протокола в справочнике или документации по Winsock 2. Рекомендуется использовать объектную модель компонента (COM) вместо этого IOCTL для обнаружения и отслеживания других интерфейсов, которые могут поддерживаться сокетом. Этот код элемента управления присутствует для обратной совместимости с системами, где COM недоступен или не может использоваться по какой-либо другой причине. Это значение равно константе Winsock 2 SIO_ASSOCIATE_HANDLE. |
| MultipointLoopback | 2281701385 | Определите, отображаются ли многоадресные данные, отправленные сокетом, как входящие данные в очереди получения сокетов. Это значение равно константе Winsock 2 SIO_MULTIPOINT_LOOPBACK. |
| MulticastScope | 2281701386 | Управление количеством раз, когда пакет многоадресной рассылки можно перенаправить маршрутизатором, который также называется временем жизни (TTL) или числом прыжков. Это значение равно константе Winsock 2 SIO_MULTICAST_SCOPE. |
| SetQos | 2281701387 | Задайте атрибуты качества обслуживания (QOS) для сокета. QOS определяет требования к пропускной способности для сокета. Это значение равно константе Winsock 2 SIO_SET_QOS. |
| SetGroupQos | 2281701388 | Задайте атрибуты качества обслуживания (QOS) для группы сокетов. Это значение зарезервировано для дальнейшего использования и равно константе Winsock 2 SIO_SET_GROUP_QOS. |
| RoutingInterfaceChange | 2281701397 | Включите получение уведомлений, когда локальный интерфейс, используемый для доступа к изменениям удаленной конечной точки. Это значение равно константе Winsock 2 SIO_ROUTING_INTERFACE_CHANGE. |
| NamespaceChange | 2281701401 | Определяет, получает ли сокет уведомление, когда запрос пространства имен становится недопустимым. Этот код управления поддерживается в Windows XP и более поздних операционных системах. Это значение равно константе Winsock 2 SIO_NSP_NOTIFY_CHANGE. |
| ReceiveAll | 2550136833 | Включите получение всех пакетов IPv4 в сети. Сокет должен иметь семейство InterNetworkадресов, тип сокета должен быть Raw, а тип протокола должен быть IP. Текущий пользователь должен принадлежать группе администраторов на локальном компьютере, а сокет должен быть привязан к конкретному порту. Это значение равно константе Winsock 2 SIO_RCVALL. |
| ReceiveAllMulticast | 2550136834 | Включите получение всех пакетов IPv4 многоадресной рассылки в сети. Это пакеты с адресами назначения в диапазоне 224.0.0.0 до 239.255.255.255.255. Сокет должен иметь семейство InterNetworkадресов, тип сокета должен быть Raw, а тип протокола должен быть Udp. Текущий пользователь должен принадлежать группе администраторов на локальном компьютере, а сокет должен быть привязан к конкретному порту. Это значение равно константе Winsock 2 SIO_RCVALL_MCAST. |
| ReceiveAllIgmpMulticast | 2550136835 | Включите получение всех пакетов протокола управления группами Интернета (IGMP) в сети. Сокет должен иметь семейство InterNetworkадресов, тип сокета должен быть Raw, а тип протокола должен быть Igmp. Текущий пользователь должен принадлежать группе администраторов на локальном компьютере, а сокет должен быть привязан к конкретному порту. Это значение равно константе Winsock 2 SIO_RCVALL_IGMPMCAST. |
| KeepAliveValues | 2550136836 | Управление отправкой пакетов TCP в режиме поддержания активности и интервалом, с которыми они отправляются. Дополнительные сведения см. в разделе RFC 1122 4.2.3.6. Это значение равно константе Winsock 2 SIO_KEEPALIVE_VALS. |
| AbsorbRouterAlert | 2550136837 | Это значение равно константе Winsock 2 SIO_ABSORB_RTRALERT. |
| UnicastInterface | 2550136838 | Задайте интерфейс, используемый для исходящих одноадресных пакетов. Это значение равно константе Winsock 2 SIO_UCAST_IF. |
| LimitBroadcasts | 2550136839 | Это значение равно константе Winsock 2 SIO_LIMIT_BROADCASTS. |
| BindToInterface | 2550136840 | Привязка сокета к указанному индексу интерфейса. Это значение равно константе Winsock 2 SIO_INDEX_BIND. |
| MulticastInterface | 2550136841 | Задайте интерфейс, используемый для исходящих пакетов многоадресной рассылки. Интерфейс определяется его индексом. Это значение равно константе Winsock 2 SIO_INDEX_MCASTIF. |
| AddMulticastGroupOnInterface | 2550136842 | Присоединяйтесь к группе многоадресной рассылки с помощью интерфейса, определяемого его индексом. Это значение равно константе Winsock 2 SIO_INDEX_ADD_MCAST. |
| DeleteMulticastGroupFromInterface | 2550136843 | Удалите сокет из группы многоадресной рассылки. Это значение равно константе Winsock 2 SIO_INDEX_ADD_MCAST. |
| GetExtensionFunctionPointer | 3355443206 | Получите функции, относящиеся к поставщику, которые не являются частью спецификации Winsock. Функции задаются с помощью guid, назначаемого поставщиком. Это значение равно константе Winsock 2 SIO_GET_EXTENSION_FUNCTION_POINTER. |
| GetQos | 3355443207 | Получите структуру QOS, связанную со сокетом. Это значение равно константе Winsock 2 SIO_GET_QOS. |
| GetGroupQos | 3355443208 | Возвращает атрибуты качества обслуживания (QOS) для группы сокетов. Это значение зарезервировано для будущего использования и равно константе Winsock 2 SIO_GET_GROUP_QOS. |
| TranslateHandle | 3355443213 | Возвращает дескриптор сокета, допустимого в контексте интерфейса компаньона. Это значение равно константе Winsock 2 SIO_TRANSLATE_HANDLE. |
| RoutingInterfaceQuery | 3355443220 | Возвращает адреса интерфейса, которые можно использовать для подключения к указанному удаленному адресу. Это значение равно константе Winsock 2 SIO_ROUTING_INTERFACE_QUERY. |
| AddressListSort | 3355443225 | Отсортируйте структуру, возвращаемую полем AddressListQuery , и добавьте сведения об идентификаторе области для адресов IPv6. Этот код управления поддерживается в Windows XP и более поздних операционных системах. Это значение равно константе Winsock 2 SIO_ADDRESS_LIST_SORT. |
Примеры
В следующем примере кода вызывается IOControl(IOControlCode, Byte[], Byte[]) метод со значением параметра DataToRead и сравнивается результат с доступом к свойству.Available
static void DisplayPendingByteCount(Socket s)
{
byte[] outValue = BitConverter.GetBytes(0);
// Check how many bytes have been received.
s.IOControl(IOControlCode.DataToRead, null, outValue);
uint bytesAvailable = BitConverter.ToUInt32(outValue, 0);
Console.Write("server has {0} bytes pending. ",
bytesAvailable);
Console.WriteLine("Available property says {1}.",
s.Available);
return;
}
Комментарии
Перечисление IOControlCode предоставляет именованные значения для указания рабочих режимов сокета. Эти значения представляют собой коды управления, передаваемые функции Сокетов Windows 2 (Winsock 2). WSAIoctl