IOControlCode Enum

Definition

Указывает коды управления вводом-выводом, поддерживаемые методом IOControl(Int32, Byte[], Byte[]).Specifies the IO control codes supported by the IOControl(Int32, Byte[], Byte[]) method.

public enum class IOControlCode
public enum IOControlCode
type IOControlCode = 
Public Enum IOControlCode
Inheritance
IOControlCode

Fields

AbsorbRouterAlert 2550136837

Это значение равно константе SIO_ABSORB_RTRALERT спецификации Winsock 2.This value is equal to the Winsock 2 SIO_ABSORB_RTRALERT constant.

AddMulticastGroupOnInterface 2550136842

Присоединяет к группе многоадресной рассылки с помощью интерфейса, определенного его индексом.Join a multicast group using an interface identified by its index. Это значение равно константе SIO_INDEX_ADD_MCAST спецификации Winsock 2.This value is equal to the Winsock 2 SIO_INDEX_ADD_MCAST constant.

AddressListChange 671088663

Включает получение уведомлений при изменении списка локальных интерфейсов для семейства протоколов сокета.Enable receiving notification when the list of local interfaces for the socket's protocol family changes. Это значение равно константе SIO_ADDRESS_LIST_CHANGE спецификации Winsock 2.This value is equal to the Winsock 2 SIO_ADDRESS_LIST_CHANGE constant.

AddressListQuery 1207959574

Возвращает список локальных интерфейсов, к которым может быть привязан сокет.Return the list of local interfaces that the socket can bind to. Это значение равно константе SIO_ADDRESS_LIST_QUERY спецификации Winsock 2.This value is equal to the Winsock 2 SIO_ADDRESS_LIST_QUERY constant.

AddressListSort 3355443225

Сортирует структуру, возвращаемую полем AddressListQuery и добавляет сведения об области идентификаторов для IPv6-адресов.Sort the structure returned by the AddressListQuery field and add scope ID information for IPv6 addresses. Этот управляющий код поддерживается в Windows XP и более поздних операционных системах.This control code is supported on Windows XP and later operating systems. Это значение равно константе SIO_ADDRESS_LIST_SORT спецификации Winsock 2.This value is equal to the Winsock 2 SIO_ADDRESS_LIST_SORT constant.

AssociateHandle 2281701377

Связывает этот сокет с указанным дескриптором сопутствующего интерфейса.Associate this socket with the specified handle of a companion interface. Дополнительные сведения о соответствующей протоколу приставке см. в справочнике по интерфейсу Winsock 2 или в документации по конкретному сопутствующему интерфейсу.Refer to the appropriate protocol-specific annex in the Winsock 2 reference or documentation for the particular companion interface for additional details. Рекомендуется использовать модель COM вместо этой функции IOCTL для обнаружения и отслеживания других интерфейсов, которые могут поддерживаться сокетом.It is recommended that the Component Object Model (COM) be used instead of this IOCTL to discover and track other interfaces that might be supported by a socket. Этот управляющий код предназначен для обратной совместимости с системами, в которых модель COM недоступна или по каким-либо причинам не может быть использована.This control code is present for backward compatibility with systems where COM is not available or cannot be used for some other reason. Это значение равно константе SIO_ASSOCIATE_HANDLE спецификации Winsock 2.This value is equal to the Winsock 2 SIO_ASSOCIATE_HANDLE constant.

AsyncIO 2147772029

Включает получение уведомлений при ожидании получения данных.Enable notification for when data is waiting to be received. Это значение равно константе FIOASYNC спецификации Winsock 2.This value is equal to the Winsock 2 FIOASYNC constant.

BindToInterface 2550136840

Привязывает сокет к указанному индексу интерфейса.Bind the socket to a specified interface index. Это значение равно константе SIO_INDEX_BIND спецификации Winsock 2.This value is equal to the Winsock 2 SIO_INDEX_BIND constant.

DataToRead 1074030207

Возвращает количество байтов, доступных для чтения.Return the number of bytes available for reading. Это значение равно константе FIONREAD спецификации Winsock 2.This value is equal to the Winsock 2 FIONREAD constant.

DeleteMulticastGroupFromInterface 2550136843

Удаляет сокет из группы многоадресной рассылки.Remove the socket from a multicast group. Это значение равно константе SIO_INDEX_ADD_MCAST спецификации Winsock 2.This value is equal to the Winsock 2 SIO_INDEX_ADD_MCAST constant.

EnableCircularQueuing 671088642

Заменяет дольше всех находящуюся в очереди датаграмму входящей датаграммой, когда очередь входящих сообщений заполнена.Replace the oldest queued datagram with an incoming datagram when the incoming message queues are full. Это значение равно константе SIO_ENABLE_CIRCULAR_QUEUEING спецификации Winsock 2.This value is equal to the Winsock 2 SIO_ENABLE_CIRCULAR_QUEUEING constant.

Flush 671088644

Удаляет содержимое очереди отправки.Discard the contents of the sending queue. Это значение равно константе SIO_FLUSH спецификации Winsock 2.This value is equal to the Winsock 2 SIO_FLUSH constant.

GetBroadcastAddress 1207959557

Возвращает структуру SOCKADDR, содержащую адрес широковещательной рассылки для семейства адресов текущего сокета.Return a SOCKADDR structure that contains the broadcast address for the address family of the current socket. Возвращаемый адрес можно использовать с методом SendTo.The returned address can be used with the SendTo method. Это значение равно константе SIO_GET_BROADCAST_ADDRESS спецификации Winsock 2.This value is equal to the Winsock 2 SIO_GET_BROADCAST_ADDRESS constant. Это значение может быть использовано только сокетами UDP.This value can be used on User Datagram Protocol (UDP) sockets only.

GetExtensionFunctionPointer 3355443206

Получите специфичную для поставщика функцию, не входящую в состав спецификации Winsock.Obtain provider-specific functions that are not part of the Winsock specification. Функции указаны с использованием идентификатора GUID, назначенного поставщиком.Functions are specified using their provider-assigned GUID. Это значение равно константе SIO_GET_EXTENSION_FUNCTION_POINTER спецификации Winsock 2.This value is equal to the Winsock 2 SIO_GET_EXTENSION_FUNCTION_POINTER constant.

GetGroupQos 3355443208

Возвращает атрибуты качества обслуживания (QOS) для группы сокетов.Return the Quality of Service (QOS) attributes for the socket group. Это значение зарезервировано для использования в будущем и равно константе SIO_GET_GROUP_QOS спецификации Winsock 2.This value is reserved for future use, and is equal to the Winsock 2 SIO_GET_GROUP_QOS constant.

GetQos 3355443207

Возвращает структуру QOS, связанную с сокетом.Retrieve the QOS structure associated with the socket. Этот элемент управления поддерживается только на платформах, которые предоставляют транспорт, совместимый с QOS (Windows Me, Windows 2000 и операционные системы более поздних версий.) Это значение равно константе SIO_GET_QOS спецификации Winsock 2.This control is only supported on platforms that provide a QOS capable transport (Windows Me, Windows 2000, and later.) This value is equal to the Winsock 2 SIO_GET_QOS constant.

KeepAliveValues 2550136836

Управляет отправкой TCP-пакетов проверки на активность и интервалом времени, с которым они посылаются.Control sending TCP keep-alive packets and the interval at which they are sent. Дополнительные сведения см. в разделе 4.2.3.6 стандарта RFC 1122.For additional information, see RFC 1122 section 4.2.3.6. Это значение равно константе SIO_KEEPALIVE_VALS спецификации Winsock 2.This value is equal to the Winsock 2 SIO_KEEPALIVE_VALS constant.

LimitBroadcasts 2550136839

Это значение равно константе SIO_LIMIT_BROADCASTS спецификации Winsock 2.This value is equal to the Winsock 2 SIO_LIMIT_BROADCASTS constant.

MulticastInterface 2550136841

Задает интерфейс, используемый для исходящих пакетов многоадресной рассылки.Set the interface used for outgoing multicast packets. Интерфейс идентифицируется своим индексом.The interface is identified by its index. Это значение равно константе SIO_INDEX_MCASTIF спецификации Winsock 2.This value is equal to the Winsock 2 SIO_INDEX_MCASTIF constant.

MulticastScope 2281701386

Управляет количеством пересылок пакета многоадресной рассылки, которое может быть выполнено маршрутизатором; также называемом сроком жизни или количеством прыжков.Control the number of times a multicast packet can be forwarded by a router, also known as the Time to Live (TTL), or hop count. Это значение равно константе SIO_MULTICAST_SCOPE спецификации Winsock 2.This value is equal to the Winsock 2 SIO_MULTICAST_SCOPE constant.

MultipointLoopback 2281701385

Указывает, должны ли появляться данные многоадресной рассылки, отправленные сокетом, как входные данные в приемной очереди сокетов.Control whether multicast data sent by the socket appears as incoming data in the sockets receive queue. Это значение равно константе SIO_MULTIPOINT_LOOPBACK спецификации Winsock 2.This value is equal to the Winsock 2 SIO_MULTIPOINT_LOOPBACK constant.

NamespaceChange 2281701401

Указывает, должны ли сокеты получать уведомление, когда запрос пространства имен становится недопустимым.Control whether the socket receives notification when a namespace query becomes invalid. Этот управляющий код поддерживается в Windows XP и более поздних операционных системах.This control code is supported on Windows XP and later operating systems. Это значение равно константе SIO_NSP_NOTIFY_LIST_CHANGE спецификации Winsock 2.This value is equal to the Winsock 2 SIO_NSP_NOTIFY_CHANGE constant.

NonBlockingIO 2147772030

Управляет блокирующим режимом сокета.Control the blocking behavior of the socket. Если аргумент, указанный этим управляющим кодом равен нулю, сокет находится в блокирующем режиме.If the argument specified with this control code is zero, the socket is placed in blocking mode. Если аргумент не равен нулю, сокет находится в неблокирующем режиме.If the argument is nonzero, the socket is placed in nonblocking mode. Это значение равно константе FIONBIO спецификации Winsock 2.This value is equal to the Winsock 2 FIONBIO constant.

OobDataRead 1074033415

Возвращает сведения о находящихся за пределом диапазона данных, которые должны быть получены.Return information about out-of-band data waiting to be received. Когда этот управляющий код используется для потока сокетов, возвращаемое значение указывает количество доступных данных.When using this control code on stream sockets, the return value indicates the number of bytes available.

QueryTargetPnpHandle 1207959576

Получает дескриптор SOCKET основного поставщика.Retrieve the underlying provider's SOCKET handle. Этот дескриптор может быть использован для получения уведомления о событии Plug-and-Play.This handle can be used to receive plug-and-play event notification. Это значение равно константе SIO_QUERY_TARGET_PNP_HANDLE спецификации Winsock 2.This value is equal to the Winsock 2 SIO_QUERY_TARGET_PNP_HANDLE constant.

ReceiveAll 2550136833

Включает получение всех сетевых IPv4-пакетов.Enable receiving all IPv4 packets on the network. У сокета должно быть семейство адресов InterNetwork, типом сокета должно быть Raw, а типом протокола должен быть IP.The socket must have address family InterNetwork, the socket type must be Raw, and the protocol type must be IP. Текущий пользователь должен быть участником группы администраторов на локальном компьютере, а сокет должен принадлежать определенному порту.The current user must belong to the Administrators group on the local computer, and the socket must be bound to a specific port. Это значение равно константе SIO_RCVALL спецификации Winsock 2.This value is equal to the Winsock 2 SIO_RCVALL constant.

ReceiveAllIgmpMulticast 2550136835

Включает получение всех сетевых IGMP-пакетов.Enable receiving all Internet Group Management Protocol (IGMP) packets on the network. У сокета должно быть семейство адресов InterNetwork, типом сокета должно быть Raw, а типом протокола должен быть Igmp.The socket must have address family InterNetwork, the socket type must be Raw, and the protocol type must be Igmp. Текущий пользователь должен быть участником группы администраторов на локальном компьютере, а сокет должен принадлежать определенному порту.The current user must belong to the Administrators group on the local computer, and the socket must be bound to a specific port. Это значение равно константе SIO_RCVALL_IGMPMCAST спецификации Winsock 2.This value is equal to the Winsock 2 SIO_RCVALL_IGMPMCAST constant.

ReceiveAllMulticast 2550136834

Включает получение всех сетевых IPv4-пакетов многоадресной рассылки.Enable receiving all multicast IPv4 packets on the network. У этих пакетов адреса назначения находятся в диапазоне от 224.0.0.0 до 239.255.255.255.These are packets with destination addresses in the range 224.0.0.0 through 239.255.255.255. У сокета должно быть семейство адресов InterNetwork, типом сокета должно быть Raw, а типом протокола должен быть Udp.The socket must have address family InterNetwork, the socket type must be Raw, and the protocol type must be Udp. Текущий пользователь должен быть участником группы администраторов на локальном компьютере, а сокет должен принадлежать определенному порту.The current user must belong to the Administrators group on the local computer, and the socket must be bound to a specific port. Это значение равно константе SIO_RCVALL_MCAST спецификации Winsock 2.This value is equal to the Winsock 2 SIO_RCVALL_MCAST constant.

RoutingInterfaceChange 2281701397

Включает получение уведомлений при изменении локального интерфейса, используемого для доступа к удаленной конечной точке.Enable receiving notification when the local interface used to access a remote endpoint changes. Это значение равно константе SIO_ROUTING_INTERFACE_CHANGE спецификации Winsock 2.This value is equal to the Winsock 2 SIO_ROUTING_INTERFACE_CHANGE constant.

RoutingInterfaceQuery 3355443220

Возвращает адреса интерфейсов, которые могут использоваться для подключения к указанному удаленному адресу.Return the interface addresses that can be used to connect to the specified remote address. Это значение равно константе SIO_ROUTING_INTERFACE_QUERY спецификации Winsock 2.This value is equal to the Winsock 2 SIO_ROUTING_INTERFACE_QUERY constant.

SetGroupQos 2281701388

Задает атрибуты качества обслуживания (QOS) для группы сокетов.Set the Quality of Service (QOS) attributes for the socket group. Это значение зарезервировано для использования в будущем и равно константе SIO_SET_GROUP_QOS спецификации Winsock 2.This value is reserved for future use and is equal to the Winsock 2 SIO_SET_GROUP_QOS constant.

SetQos 2281701387

Задает атрибуты качества обслуживания (QOS) для сокета.Set the Quality of Service (QOS) attributes for the socket. Качество обслуживания определяет требования к пропускной способности сокета.QOS defines the bandwidth requirements for the socket. Это значение равно константе SIO_SET_QOS спецификации Winsock 2.This value is equal to the Winsock 2 SIO_SET_QOS constant.

TranslateHandle 3355443213

Возвращает дескриптор для сокета, являющегося допустимым в контексте сопутствующего интерфейса.Return a handle for the socket that is valid in the context of a companion interface. Это значение равно константе SIO_TRANSLATE_HANDLE спецификации Winsock 2.This value is equal to the Winsock 2 SIO_TRANSLATE_HANDLE constant.

UnicastInterface 2550136838

Задает интерфейс, используемый для исходящих пакетов одноадресной передачи.Set the interface used for outgoing unicast packets. Это значение равно константе SIO_UCAST_IF спецификации Winsock 2.This value is equal to the Winsock 2 SIO_UCAST_IF constant.

Examples

В следующем примере кода вызывается метод IOControl(IOControlCode, Byte[], Byte[]) со значением параметра Дататореад и сравнивается результат с доступом к.AvailableThe following code example calls the IOControl(IOControlCode, Byte[], Byte[]) method with a DataToRead parameter value and compares the result with accessing the.Available .property.

void DisplayPendingByteCount( Socket^ s )
{
   array<Byte>^ outValue = BitConverter::GetBytes( 0 );
   
   // Check how many bytes have been received.
   s->IOControl( IOControlCode::DataToRead, nullptr, outValue );

   UInt32 bytesAvailable = BitConverter::ToUInt32( outValue, 0 );
   Console::Write( "server has {0} bytes pending,",
      bytesAvailable );
   Console::WriteLine( "Available property says {1}.",
      s->Available );
   return;
}
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;
}

Remarks

Перечисление IOControlCode предоставляет именованные значения для указания рабочих режимов сокета.The IOControlCode enumeration provides named values for specifying socket operational modes. Эти значения представляют собой коды управления, передаваемые функции WSAIoctl Windows Sockets 2 (Winsock 2).These values are the control codes passed to the Windows Sockets 2 (Winsock 2) WSAIoctl function.

Applies to